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()");
|
kwarnln("Chosen node does not support finddir()");
|
||||||
return -ENOTSUP;
|
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)
|
if (node->find_func(node, name) != nullptr)
|
||||||
{
|
{
|
||||||
kwarnln("Already exists");
|
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()");
|
kwarnln("Chosen node does not support finddir()");
|
||||||
return -ENOTSUP;
|
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)
|
if (node->find_func(node, name) != nullptr)
|
||||||
{
|
{
|
||||||
kwarnln("Already exists");
|
kwarnln("Already exists");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user