summaryrefslogtreecommitdiff
path: root/syscall.c
diff options
context:
space:
mode:
authorrtm <rtm>2006-08-13 15:51:58 +0000
committerrtm <rtm>2006-08-13 15:51:58 +0000
commit17e3cf15bac0c1ac60780ce7d1d228442ff08ed9 (patch)
tree3a0f316e47341d71e9edc1715fc232a71dcb7692 /syscall.c
parent8abe2bcf156cce7beec21b259a59aaaa538165c0 (diff)
downloadxv6-labs-17e3cf15bac0c1ac60780ce7d1d228442ff08ed9.tar.gz
xv6-labs-17e3cf15bac0c1ac60780ce7d1d228442ff08ed9.tar.bz2
xv6-labs-17e3cf15bac0c1ac60780ce7d1d228442ff08ed9.zip
fix iget() bug that allocated in-use inode[] entries
Diffstat (limited to 'syscall.c')
-rw-r--r--syscall.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/syscall.c b/syscall.c
index 71a7013..5cfc20b 100644
--- a/syscall.c
+++ b/syscall.c
@@ -284,7 +284,8 @@ sys_mknod(void)
return -1;
nip = mknod (cp->mem + arg0, (short) arg1, (short) arg2, (short) arg3);
- iput(nip);
+ if(nip)
+ iput(nip);
return (nip == 0) ? -1 : 0;
}