about summary refs log tree commit diff
path: root/src/afl-forkserver.c
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-11-03 16:00:29 +0100
committervan Hauser <vh@thc.org>2020-11-03 16:00:29 +0100
commit3cfc0174f7fac85f232052dffdb1eb83ea3ef24d (patch)
treec79f2a592f84de00ee9e2aa0780c9e1bc2ff2f8c /src/afl-forkserver.c
parent7b4d1c408909dd27d81967eced963f3b661511c8 (diff)
downloadafl++-3cfc0174f7fac85f232052dffdb1eb83ea3ef24d.tar.gz
fix -N for forkserver
Diffstat (limited to 'src/afl-forkserver.c')
-rw-r--r--src/afl-forkserver.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index a8c486b6..45be2abd 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -108,6 +108,7 @@ void afl_fsrv_init_dup(afl_forkserver_t *fsrv_to, afl_forkserver_t *from) {
   fsrv_to->out_file = from->out_file;
   fsrv_to->dev_urandom_fd = from->dev_urandom_fd;
   fsrv_to->out_fd = from->out_fd;  // not sure this is a good idea
+  fsrv_to->no_unlink = from->no_unlink;
 
   // These are forkserver specific.
   fsrv_to->out_dir_fd = -1;
@@ -969,7 +970,7 @@ void afl_fsrv_write_to_testcase(afl_forkserver_t *fsrv, u8 *buf, size_t len) {
 
     if (!fsrv->use_stdin && fsrv->out_file) {
 
-      if (fsrv->no_unlink) {
+      if (unlikely(fsrv->no_unlink)) {
 
         fd = open(fsrv->out_file, O_WRONLY | O_CREAT | O_TRUNC, 0600);