diff options
author | vanhauser-thc <vh@thc.org> | 2024-06-09 12:16:32 +0200 |
---|---|---|
committer | vanhauser-thc <vh@thc.org> | 2024-06-09 12:16:32 +0200 |
commit | 4bb4d4ad0060a16b08bb29533863e71f45bc3c97 (patch) | |
tree | e05fe1e4ca149ad67621e75115a6ee029e4be4fb /src | |
parent | 5331eca5d935e9d5faef06fe6b5a38f411109fde (diff) | |
download | afl++-4bb4d4ad0060a16b08bb29533863e71f45bc3c97.tar.gz |
fix -n
Diffstat (limited to 'src')
-rw-r--r-- | src/afl-fuzz-state.c | 3 | ||||
-rw-r--r-- | src/afl-fuzz.c | 15 |
2 files changed, 10 insertions, 8 deletions
diff --git a/src/afl-fuzz-state.c b/src/afl-fuzz-state.c index a1c1e30c..fbe6d32a 100644 --- a/src/afl-fuzz-state.c +++ b/src/afl-fuzz-state.c @@ -769,8 +769,9 @@ void afl_states_stop(void) { if (el->fsrv.fsrv_pid > 0) { kill(el->fsrv.fsrv_pid, el->fsrv.fsrv_kill_signal); + usleep(100); /* Make sure the forkserver does not end up as zombie. */ - waitpid(el->fsrv.fsrv_pid, NULL, 0); + waitpid(el->fsrv.fsrv_pid, NULL, WNOHANG); } diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index 9ebe0c76..fefab1c0 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -1469,15 +1469,16 @@ int main(int argc, char **argv_orig, char **envp) { #endif - configure_afl_kill_signals(&afl->fsrv, afl->afl_env.afl_child_kill_signal, - afl->afl_env.afl_fsrv_kill_signal, - (afl->fsrv.qemu_mode || afl->unicorn_mode + configure_afl_kill_signals( + &afl->fsrv, afl->afl_env.afl_child_kill_signal, + afl->afl_env.afl_fsrv_kill_signal, + (afl->fsrv.qemu_mode || afl->unicorn_mode || afl->non_instrumented_mode #ifdef __linux__ - || afl->fsrv.nyx_mode + || afl->fsrv.nyx_mode #endif - ) - ? SIGKILL - : SIGTERM); + ) + ? SIGKILL + : SIGTERM); setup_signal_handlers(); check_asan_opts(afl); |