about summary refs log tree commit diff
path: root/src/afl-fuzz-run.c
diff options
context:
space:
mode:
authorDominik Maier <domenukk@gmail.com>2020-03-05 20:23:04 +0100
committerGitHub <noreply@github.com>2020-03-05 20:23:04 +0100
commit3ac568c40cad0e7a282de7700fac8001d80de950 (patch)
treea426d5a556b6ae3bbe05e31cc4a8f416f407fed0 /src/afl-fuzz-run.c
parent90409f383a728fdcf4d66ffc607f1e3eb70b9203 (diff)
downloadafl++-3ac568c40cad0e7a282de7700fac8001d80de950.tar.gz
Fix leaks when stopping afl (#228)
Diffstat (limited to 'src/afl-fuzz-run.c')
-rw-r--r--src/afl-fuzz-run.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c
index 56c52c9b..58985d8b 100644
--- a/src/afl-fuzz-run.c
+++ b/src/afl-fuzz-run.c
@@ -643,7 +643,7 @@ void sync_fuzzers(char** argv) {
 
         fault = run_target(argv, exec_tmout);
 
-        if (stop_soon) return;
+        if (stop_soon) goto close_sync;
 
         syncing_party = sd_ent->d_name;
         queued_imported += save_if_interesting(argv, mem, st.st_size, fault);
@@ -662,6 +662,7 @@ void sync_fuzzers(char** argv) {
 
     ck_write(id_fd, &next_min_accept, sizeof(u32), qd_synced_path);
 
+close_sync:
     close(id_fd);
     closedir(qd);
     ck_free(qd_path);