aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;