Return ENOENT when dotdot for root node requested

This commit is contained in:
Antonio SJ Musumeci 2022-04-07 13:39:20 -04:00
parent 77e6f400b5
commit 14c2ff9ab8

View File

@ -2037,11 +2037,11 @@ fuse_lib_lookup(fuse_req_t req,
uint64_t parent,
const char *name)
{
struct fuse *f = req_fuse_prepare(req);
struct fuse_entry_param e;
char *path;
int err;
char *path;
struct node *dot = NULL;
struct fuse *f = req_fuse_prepare(req);
struct fuse_entry_param e = {0};
if(name[0] == '.')
{
@ -2061,6 +2061,12 @@ fuse_lib_lookup(fuse_req_t req,
}
else if((name[1] == '.') && (name[2] == '\0'))
{
if(parent == 1)
{
reply_entry(req,&e,-ENOENT);
return;
}
name = NULL;
pthread_mutex_lock(&f->lock);
parent = get_node(f,parent)->parent->nodeid;