diff options
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r-- | sys/kern/kern_exec.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index d78f562..60c7f55 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -193,9 +193,9 @@ interpret: goto exec_fail_dealloc; if (imgp->interpreted) { exec_unmap_first_page(imgp); - /* free old vnode and name buffer */ + /* free name buffer and old vnode */ + NDFREE(ndp, NDF_ONLY_PNBUF); vrele(ndp->ni_vp); - zfree(namei_zone, ndp->ni_cnd.cn_pnbuf); /* set new name to that of the interpreter */ NDINIT(ndp, LOOKUP, LOCKLEAF | FOLLOW | SAVENAME, UIO_SYSSPACE, imgp->interpreter_name, p); @@ -353,8 +353,8 @@ exec_fail_dealloc: ARG_MAX + PAGE_SIZE); if (imgp->vp) { + NDFREE(ndp, NDF_ONLY_PNBUF); vrele(imgp->vp); - zfree(namei_zone, ndp->ni_cnd.cn_pnbuf); } if (error == 0) |