diff options
-rw-r--r-- | pk/syscall.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pk/syscall.c b/pk/syscall.c index ec53b32..bda4393 100644 --- a/pk/syscall.c +++ b/pk/syscall.c @@ -129,7 +129,9 @@ static int at_kfd(int dirfd) file_t* dir = file_get(dirfd); if (dir == NULL) return -1; - return dir->kfd; + int kfd = dir->kfd; + file_decref(dir); + return kfd; } int sys_openat(int dirfd, const char* name, int flags, int mode) |