Kernel: Refuse to mkdir any directory named . or ..
This commit is contained in:
parent
b78f6f269d
commit
b2fb740d99
@ -152,6 +152,11 @@ int VFS::mkdir(const char* path, const char* name)
|
||||
kwarnln("Chosen node does not support finddir()");
|
||||
return -ENOTSUP;
|
||||
}
|
||||
if (!strncmp(name, ".", strlen(name)) || !strncmp(name, "..", strlen(name)))
|
||||
{
|
||||
kwarnln("Attempted to mkdir . or .., which already exist");
|
||||
return -EEXIST;
|
||||
}
|
||||
if (node->find_func(node, name) != nullptr)
|
||||
{
|
||||
kwarnln("Already exists");
|
||||
@ -183,6 +188,11 @@ int VFS::do_mkdir(const char* path, const char* name, int uid, int gid, mode_t m
|
||||
kwarnln("Chosen node does not support finddir()");
|
||||
return -ENOTSUP;
|
||||
}
|
||||
if (!strncmp(name, ".", strlen(name)) || !strncmp(name, "..", strlen(name)))
|
||||
{
|
||||
kwarnln("Attempted to mkdir . or .., which already exist");
|
||||
return -EEXIST;
|
||||
}
|
||||
if (node->find_func(node, name) != nullptr)
|
||||
{
|
||||
kwarnln("Already exists");
|
||||
|
Loading…
Reference in New Issue
Block a user