diff options
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r-- | sys/kern/kern_exec.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index 32df1c2..0e5fb94 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -335,9 +335,13 @@ interpret: */ setsugid(p); if (p->p_tracep && suser_xxx(oldcred, NULL, PRISON_ROOT)) { - p->p_traceflag = 0; - vrele(p->p_tracep); - p->p_tracep = NULL; + struct vnode *vtmp; + + if ((vtmp = p->p_tracep) != NULL) { + p->p_tracep = NULL; + p->p_traceflag = 0; + vrele(vtmp); + } } /* * Set the new credentials. |