aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-07-13 22:31:52 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-07-13 22:31:52 +0200
commit12dbc8892027feceec2576c2e5dd03b30a1da2da (patch)
treeff330ff2d581b758cee91b9bedd3b67dc373894e /kernel
parentea6793ca34a77b1b5ed3a590c8aa235ac0d42ee7 (diff)
downloadkernel-12dbc8892027feceec2576c2e5dd03b30a1da2da.tar.xz
kernel-12dbc8892027feceec2576c2e5dd03b30a1da2da.zip
kernel/vfs: add early check
Diffstat (limited to 'kernel')
-rw-r--r--kernel/kernel/filesystem/vfs.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/kernel/filesystem/vfs.cpp b/kernel/kernel/filesystem/vfs.cpp
index aa462eae..e0e79094 100644
--- a/kernel/kernel/filesystem/vfs.cpp
+++ b/kernel/kernel/filesystem/vfs.cpp
@@ -215,6 +215,11 @@ namespace kernel::filesystem
auto part = path_parts_vector.back();
path_parts_vector.pop_back();
+ if (!current_dentry->get_inode()->is_directory())
+ {
+ return std::unexpected{vfs_errc::not_a_directory};
+ }
+
if (part == ".")
{
continue;