From e9f49527e912eb81e9e3c0a1b32c703f858cecda Mon Sep 17 00:00:00 2001 From: Alexandre DOYEN Date: Mon, 5 May 2025 09:49:56 +0200 Subject: [PATCH] We check before if the AFL_PRELOAD env variable is set --- instrumentation/afl-compiler-rt.o.c | 6 +++++- src/afl-forkserver.c | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) 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;