提交 23f1351a 编写于 作者: L Leon Chan

fix: add null check in rmdir/unlinkat

close: #I4ATUC
Signed-off-by: NLeon Chan <chenwei26@huawei.com>
上级 792664a5
......@@ -111,6 +111,12 @@ int do_rmdir(int dirfd, const char *pathname)
char *name = NULL;
int ret;
if (pathname == NULL)
{
ret = -EINVAL;
goto errout;
}
/* Get relative path by dirfd*/
ret = get_path_from_fd(dirfd, &relativepath);
if (ret < 0)
......
......@@ -190,12 +190,27 @@ extern int do_rmdir(int dirfd, const char *pathname);
int unlinkat(int dirfd, const char *pathname, int flag)
{
int ret;
if (pathname == NULL)
{
ret = -EINVAL;
goto errout;
}
/* Now flag only support 0 && AT_REMOVEDIR */
if ((flag & ~AT_REMOVEDIR) != 0)
return VFS_ERROR;
{
ret = -EINVAL;
goto errout;
}
if (flag & AT_REMOVEDIR)
return do_rmdir(dirfd, pathname);
return do_unlink(dirfd, pathname);
errout:
set_errno(-ret);
return VFS_ERROR;
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册