diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c index 66634513..e6fb3ac6 100644 --- a/src/afl-fuzz-run.c +++ b/src/afl-fuzz-run.c @@ -867,7 +867,14 @@ void sync_fuzzers(afl_state_t *afl) { fault = fuzz_run_target(afl, &afl->fsrv, afl->fsrv.exec_tmout); - if (afl->stop_soon) { goto close_sync; } + if (afl->stop_soon) { + + munmap(mem, st.st_size); + close(fd); + + goto close_sync; + + } afl->syncing_party = sd_ent->d_name; afl->queued_imported += save_if_interesting(afl, mem, new_len, fault); diff --git a/src/afl-fuzz-state.c b/src/afl-fuzz-state.c index 59cc7657..67a3f31d 100644 --- a/src/afl-fuzz-state.c +++ b/src/afl-fuzz-state.c @@ -762,6 +762,8 @@ void afl_state_deinit(afl_state_t *afl) { afl_free(afl->in_buf); afl_free(afl->in_scratch_buf); afl_free(afl->ex_buf); + afl_free(afl->alias_table); + afl_free(afl->alias_probability); ck_free(afl->virgin_bits); ck_free(afl->virgin_tmout);