summaryrefslogtreecommitdiff
path: root/subproc.c
diff options
context:
space:
mode:
authorRobert Swiecki <robert@swiecki.net>2018-01-10 04:32:21 +0100
committerRobert Swiecki <robert@swiecki.net>2018-01-10 04:32:21 +0100
commit3975afec8737e9ca049643ef31a53e00fa331af6 (patch)
tree10a550a601f1626fdc8d699fe1604855e95a297f /subproc.c
parent0a7da18453e7d8d11d03485706cf212e2e2012ad (diff)
downloadhonggfuzz-3975afec8737e9ca049643ef31a53e00fa331af6.tar.gz
subproc: nullify stdio before dup()ing input to stdin
Diffstat (limited to 'subproc.c')
-rw-r--r--subproc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/subproc.c b/subproc.c
index 8ee055df..f4fb93c1 100644
--- a/subproc.c
+++ b/subproc.c
@@ -223,10 +223,6 @@ static bool subproc_PrepareExecv(run_t* run) {
if (dup2(run->dynamicFileFd, _HF_INPUT_FD) == -1) {
PLOG_F("dup2('%d', %d)", run->dynamicFileFd, _HF_INPUT_FD);
}
- if (run->global->exe.fuzzStdin && dup2(run->dynamicFileFd, STDIN_FILENO) == -1) {
- PLOG_F("dup2(%d, 0)", run->dynamicFileFd);
- }
- close(run->dynamicFileFd);
sigset_t sset;
sigemptyset(&sset);
@@ -237,6 +233,10 @@ static bool subproc_PrepareExecv(run_t* run) {
if (run->global->exe.nullifyStdio) {
util_nullifyStdio();
}
+ if (run->global->exe.fuzzStdin && dup2(run->dynamicFileFd, STDIN_FILENO) == -1) {
+ PLOG_F("dup2(%d, 0)", run->dynamicFileFd);
+ }
+ close(run->dynamicFileFd);
return true;
}