diff --git a/instrumentation/afl-compiler-rt.o.c b/instrumentation/afl-compiler-rt.o.c index 46d76624..2a563afc 100644 --- a/instrumentation/afl-compiler-rt.o.c +++ b/instrumentation/afl-compiler-rt.o.c @@ -1046,7 +1046,11 @@ static void __afl_start_forkserver(void) { /* In child process: close fds, resume execution. */ if (unlikely(!child_pid)) { // just to signal afl-fuzz faster - unsetenv("AFL_FORKSERVER_PARENT"); + if (unlikely(getenv("AFL_PRELOAD") != NULL)) { + + unsetenv("AFL_FORKSERVER_PARENT"); + + } //(void)nice(-20); diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c index 0a1bd75f..d289ce8e 100644 --- a/src/afl-forkserver.c +++ b/src/afl-forkserver.c @@ -878,7 +878,11 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv, /* CHILD PROCESS */ - setenv("AFL_FORKSERVER_PARENT", "1", 0); + if (unlikely(getenv("AFL_PRELOAD") != NULL)) { + + setenv("AFL_FORKSERVER_PARENT", "1", 0); + + } // enable terminating on sigpipe in the children struct sigaction sa;