about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2021-03-06 23:12:44 +0100
committervanhauser-thc <vh@thc.org>2021-03-06 23:12:44 +0100
commit517db1b8dc1b310b82a73e3878285ca03249f3e4 (patch)
tree0df623c9c05ba06ac3d99ccfc65a23c59d6c6cd5
parent7f062524c97ab18306d42e59ab0223e04ff78f24 (diff)
downloadafl++-517db1b8dc1b310b82a73e3878285ca03249f3e4.tar.gz
fixes
-rw-r--r--src/afl-forkserver.c2
-rw-r--r--src/afl-fuzz.c3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index e6738a71..2ab1304e 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -1278,7 +1278,7 @@ fsrv_run_result_t afl_fsrv_run_target(afl_forkserver_t *fsrv, u32 timeout,
           snprintf(fn, sizeof(fn), "%s/RECORD:%06u,cnt:%06u",
                    fsrv->persistent_record_dir, fsrv->persistent_record_cnt,
                    writecnt++);
-          int fd = open(fn, O_WRONLY, 0644);
+          int fd = open(fn, O_CREAT | O_TRUNC | O_WRONLY, 0644);
           if (fd >= 0) {
 
             ck_write(fd, data, len, fn);
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 4ee71120..267ab075 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -989,7 +989,6 @@ int main(int argc, char **argv_orig, char **envp) {
   if (unlikely(afl->afl_env.afl_persistent_record)) {
 
     afl->fsrv.persistent_record = atoi(afl->afl_env.afl_persistent_record);
-    afl->fsrv.persistent_record_dir = alloc_printf("%s/crashes", afl->out_dir);
 
     if (afl->fsrv.persistent_record < 2) {
 
@@ -1533,6 +1532,8 @@ int main(int argc, char **argv_orig, char **envp) {
 
     }
 
+    afl->fsrv.persistent_record_dir = alloc_printf("%s/crashes", afl->out_dir);
+
   }
 
   if (afl->shmem_testcase_mode) { setup_testcase_shmem(afl); }