diff options
author | Dominik Maier <domenukk@gmail.com> | 2020-04-13 08:54:59 +0200 |
---|---|---|
committer | Dominik Maier <domenukk@gmail.com> | 2020-04-13 08:54:59 +0200 |
commit | 995e556065375c34206f6f05c8572e0758c288ef (patch) | |
tree | 1e1748465fdf498a93b8e7b12a2d5e8e245fba7c /src/afl-fuzz.c | |
parent | a93268acec3e244413ec2a38bb0ff80cdf554369 (diff) | |
download | afl++-995e556065375c34206f6f05c8572e0758c288ef.tar.gz |
cmplog forkserver tidying
Diffstat (limited to 'src/afl-fuzz.c')
-rw-r--r-- | src/afl-fuzz.c | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index 73a38215..6eae2675 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -1020,7 +1020,9 @@ int main(int argc, char **argv_orig, char **envp) { if (afl->cmplog_binary) { SAYF("Spawning cmplog forkserver"); - memcpy(&afl->cmplog_fsrv, &afl->fsrv, sizeof(afl->fsrv)); + afl_fsrv_init_dup(&afl->cmplog_fsrv, &afl->fsrv); + // TODO: this is semi-nice + afl->cmplog_fsrv.cmplog_binary = afl->cmplog_binary; afl->cmplog_fsrv.init_child_func = cmplog_exec_child; afl_fsrv_start(&afl->cmplog_fsrv, afl->argv, &afl->stop_soon, afl->afl_env.afl_debug_child_output); @@ -1123,28 +1125,6 @@ int main(int argc, char **argv_orig, char **envp) { } - // if (afl->queue_cur) show_stats(afl); - - /* - * ATTENTION - the following 10 lines were copied from a PR to Google's afl - * repository - and slightly fixed. - * These lines have nothing to do with the purpose of original PR though. - * Looks like when an exit condition was completed (AFL_BENCH_JUST_ONE, - * AFL_EXIT_WHEN_DONE or AFL_BENCH_UNTIL_CRASH) the child and forkserver - * where not killed? - */ - /* if we stopped programmatically, we kill the forkserver and the current - runner. if we stopped manually, this is done by the signal handler */ - if (afl->stop_soon == 2) { - - if (afl->fsrv.child_pid > 0) kill(afl->fsrv.child_pid, SIGKILL); - if (afl->fsrv.fsrv_pid > 0) kill(afl->fsrv.fsrv_pid, SIGKILL); - /* Now that we've killed the forkserver, we wait for it to be able to get - * rusage stats. */ - if (waitpid(afl->fsrv.fsrv_pid, NULL, 0) <= 0) { WARNF("error waitpid\n"); } - - } - write_bitmap(afl); maybe_update_plot_file(afl, 0, 0); save_auto(afl); |