summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_exec.c
diff options
context:
space:
mode:
authornectar <nectar@FreeBSD.org>2002-04-19 00:45:29 +0000
committernectar <nectar@FreeBSD.org>2002-04-19 00:45:29 +0000
commitfcc5ad0935b7186f4b02cdb9e21265c4b22f7bdc (patch)
treecc853206d1f9aa9281220f43c34852831f4734aa /sys/kern/kern_exec.c
parent57865251c86fc1a67f3fe94878e07688c988ee3d (diff)
downloadFreeBSD-src-fcc5ad0935b7186f4b02cdb9e21265c4b22f7bdc.zip
FreeBSD-src-fcc5ad0935b7186f4b02cdb9e21265c4b22f7bdc.tar.gz
When exec'ing a set[ug]id program, make sure that the stdio file descriptors
(0, 1, 2) are allocated by opening /dev/null for any which are not already open. Reviewed by: alfred, phk MFC after: 2 days
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r--sys/kern/kern_exec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 1b32699..af4edae 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -368,6 +368,10 @@ interpret:
vrele(vtmp);
}
}
+ /* Make sure file descriptors 0..2 are in use. */
+ error = fdcheckstd(td);
+ if (error != 0)
+ goto exec_fail_dealloc;
/*
* Set the new credentials.
*/
OpenPOWER on IntegriCloud