diff options
author | nectar <nectar@FreeBSD.org> | 2002-04-19 00:45:29 +0000 |
---|---|---|
committer | nectar <nectar@FreeBSD.org> | 2002-04-19 00:45:29 +0000 |
commit | fcc5ad0935b7186f4b02cdb9e21265c4b22f7bdc (patch) | |
tree | cc853206d1f9aa9281220f43c34852831f4734aa /sys/kern/kern_exec.c | |
parent | 57865251c86fc1a67f3fe94878e07688c988ee3d (diff) | |
download | FreeBSD-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.c | 4 |
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. */ |