about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/afl-common.c1
-rw-r--r--src/afl-fuzz-run.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/src/afl-common.c b/src/afl-common.c
index 46d7de26..20fc424a 100644
--- a/src/afl-common.c
+++ b/src/afl-common.c
@@ -156,6 +156,7 @@ char** get_qemu_argv(u8* own_loc, char** argv, int argc) {
 
   if (!access(BIN_PATH "/afl-qemu-trace", X_OK)) {
 
+    ck_free(cp);
     target_path = new_argv[0] = ck_strdup(BIN_PATH "/afl-qemu-trace");
     return new_argv;
 
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);