diff options
Diffstat (limited to 'kernel/fs/vfs.c')
-rw-r--r-- | kernel/fs/vfs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/fs/vfs.c b/kernel/fs/vfs.c index bcc0ce5..a55f78c 100644 --- a/kernel/fs/vfs.c +++ b/kernel/fs/vfs.c @@ -55,7 +55,7 @@ vfs_inode_t *vfs_create_inode( r->truncate = truncate; r->stat = stat; r->send_signal = send_signal; - r->ref = 1; + r->ref = 0; return r; } @@ -415,11 +415,13 @@ int vfs_dup2(int org_fd, int new_fd) { assert(0); return -1; } + assert(1 <= orig->reference_count); if (!list_set(¤t_task->file_descriptors, new_fd, orig)) { assert(0); return -1; } orig->reference_count++; + assert(2 <= orig->reference_count); return 1; } |