diff --git a/kernel-src/fs/vfs.c b/kernel-src/fs/vfs.c index 6c9e89cc..ade890c1 100644 --- a/kernel-src/fs/vfs.c +++ b/kernel-src/fs/vfs.c @@ -100,13 +100,17 @@ int vfs_mount(vnode_t *backing, vnode_t *pathref, char *path, char *name, void * } int vfs_open(vnode_t *ref, char *path, int flags, vnode_t **res) { - int err = vfs_lookup(res, ref, path, NULL, 0); + vnode_t *tmp = NULL; + int err = vfs_lookup(&tmp, ref, path, NULL, 0); if (err) return err; - err = VOP_OPEN(res, flags, getcred()); - if (err) - VOP_RELEASE(*res); + err = VOP_OPEN(&tmp, flags, getcred()); + if (err) { + VOP_RELEASE(tmp); + } else { + *res = tmp; + } return err; } diff --git a/kernel-src/sys/jobctl.c b/kernel-src/sys/jobctl.c index 736bd2f2..2f691b09 100644 --- a/kernel-src/sys/jobctl.c +++ b/kernel-src/sys/jobctl.c @@ -35,7 +35,6 @@ static void removefromlist(proc_t *pgrp, proc_t *proc) { void jobctl_setctty(proc_t *proc, void *_ctty) { tty_t *tty = _ctty; - __assert(tty); bool intstatus = interrupt_set(false); spinlock_acquire(&proc->jobctllock);