From 88db52baebd10ab1c2643f214ab9d44edcdb0851 Mon Sep 17 00:00:00 2001 From: sotech117 Date: Thu, 25 Apr 2024 04:04:20 +0000 Subject: fix refcount issue --- kernel/fs/open.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'kernel/fs/open.c') diff --git a/kernel/fs/open.c b/kernel/fs/open.c index 811a9c4..8f0d893 100644 --- a/kernel/fs/open.c +++ b/kernel/fs/open.c @@ -100,6 +100,7 @@ long do_open(const char *filename, int oflags) // Check if the vnode is a directory if (S_ISDIR(res_vnode->vn_mode) && ((oflags & O_WRONLY) || (oflags & O_RDWR))) { + vput(&res_vnode); return -EISDIR; } @@ -156,9 +157,6 @@ long do_open(const char *filename, int oflags) return -ENOMEM; } - - // Set the file descriptor - // curproc->p_files[fd] = file; vput(&res_vnode); return fd; } -- cgit v1.2.3-70-g09d2