From 6aef90a97933dfb5260b8c34da316abac086543f Mon Sep 17 00:00:00 2001 From: Matheus Date: Sun, 30 Apr 2023 21:19:25 -0300 Subject: [PATCH] vfs: fix lookup VFS_LOOKUP_NOLINK flag --- kernel-src/fs/vfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel-src/fs/vfs.c b/kernel-src/fs/vfs.c index fe349bed..9c5df019 100644 --- a/kernel-src/fs/vfs.c +++ b/kernel-src/fs/vfs.c @@ -300,7 +300,7 @@ int vfs_lookup(vnode_t **result, vnode_t *start, char *path, char *lastcomp, int } // dereference symlink - if (next->type == V_TYPE_LINK) { + if (next->type == V_TYPE_LINK && (islast == false || (islast == true && (flags & VFS_LOOKUP_NOLINK) == 0))) { // get path char *linkderef; VOP_LOCK(next);