diff options
| -rw-r--r-- | kernel/kernel/filesystem/vfs.cpp | 5 |
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; |
