diff options
author | dwmalone <dwmalone@FreeBSD.org> | 2003-12-28 19:27:14 +0000 |
---|---|---|
committer | dwmalone <dwmalone@FreeBSD.org> | 2003-12-28 19:27:14 +0000 |
commit | 1e69eeaeee11196731ec5e555aa60c432a26c56b (patch) | |
tree | 8bcdba4f4f3f02107446326a92d68ef55695ecba /sys/kern | |
parent | a3868be26df3ded69173a07b569fec24714282c7 (diff) | |
download | FreeBSD-src-1e69eeaeee11196731ec5e555aa60c432a26c56b.zip FreeBSD-src-1e69eeaeee11196731ec5e555aa60c432a26c56b.tar.gz |
Plug a leak of open files that happens when you exec a suid program
with one of std{in,out,err} open. This helps with the file descriptor
leaks reported on -current. This should probably be merged into 5.2.
Reviewed by: ru
Tested by: Bjoern A. Zeeb <bzeeb-lists@lists.zabbadoz.net>
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_descrip.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index 5e00b53..3b8227f 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -1730,6 +1730,7 @@ fdcheckstd(td) fp->f_type = DTYPE_VNODE; VOP_UNLOCK(nd.ni_vp, 0, td); devnull = fd; + fdrop(fp, td); } else { error = do_dup(td, DUP_FIXED, devnull, i, &retval); if (error != 0) |