diff --git a/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp b/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp index ff362c6571..c065621e6c 100644 --- a/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp +++ b/src/add-ons/kernel/file_systems/ramfs/kernel_interface.cpp @@ -794,6 +794,9 @@ ramfs_create(fs_volume* _volume, fs_vnode* _dir, const char *name, int openMode, // check directory } else if (!dir) { SET_ERROR(error, B_BAD_VALUE); + // check special names + } else if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) { + SET_ERROR(error, B_FILE_EXISTS); } else if (VolumeWriteLocker locker = volume) { NodeMTimeUpdater mTimeUpdater(dir); // directory deleted? @@ -1126,6 +1129,9 @@ ramfs_create_dir(fs_volume* _volume, fs_vnode* _dir, const char *name, int mode) // check directory } else if (!dir) { SET_ERROR(error, B_BAD_VALUE); + // check special names + } else if (strcmp(name, ".") == 0 || strcmp(name, "..") == 0) { + SET_ERROR(error, B_FILE_EXISTS); } else if (VolumeWriteLocker locker = volume) { NodeMTimeUpdater mTimeUpdater(dir); // directory deleted?