about summary refs log tree commit diff
path: root/src/afl-fuzz-cmplog.c
diff options
context:
space:
mode:
authorDominik Maier <domenukk@gmail.com>2020-02-10 00:19:25 +0100
committerDominik Maier <domenukk@gmail.com>2020-02-10 00:19:25 +0100
commitbf1898736915d34906704f82202d1a8890a3cec4 (patch)
treeab450a0a67ea5c2ec14c5ac9536e4a379d16eb3d /src/afl-fuzz-cmplog.c
parente19e06aba7e81a37f5f1a9974f061ab63bc86986 (diff)
parent33c18c36db70859fc484dd41a317634809d5c043 (diff)
downloadafl++-bf1898736915d34906704f82202d1a8890a3cec4.tar.gz
Merge branch 'master' of github.com:vanhauser-thc/AFLplusplus into unicorn
Diffstat (limited to 'src/afl-fuzz-cmplog.c')
-rw-r--r--src/afl-fuzz-cmplog.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/afl-fuzz-cmplog.c b/src/afl-fuzz-cmplog.c
index 92bac4ab..3d34bf71 100644
--- a/src/afl-fuzz-cmplog.c
+++ b/src/afl-fuzz-cmplog.c
@@ -27,7 +27,7 @@
 #include "afl-fuzz.h"
 #include "cmplog.h"
 
-static s32 cmplog_child_pid, cmplog_fsrv_ctl_fd, cmplog_fsrv_st_fd;
+static s32 cmplog_fsrv_ctl_fd, cmplog_fsrv_st_fd;
 
 void init_cmplog_forkserver(char** argv) {
 
@@ -150,8 +150,10 @@ void init_cmplog_forkserver(char** argv) {
            "msan_track_origins=0",
            0);
 
-    argv[0] = cmplog_binary;
-    execv(cmplog_binary, argv);
+    setenv("___AFL_EINS_ZWEI_POLIZEI___", "1", 1);
+
+    if (!qemu_mode) argv[0] = cmplog_binary;
+    execv(argv[0], argv);
 
     /* Use a distinctive bitmap signature to tell the parent about execv()
        falling through. */
@@ -441,8 +443,10 @@ u8 run_cmplog_target(char** argv, u32 timeout) {
                              "symbolize=0:"
                              "msan_track_origins=0", 0);
 
-      argv[0] = cmplog_binary;
-      execv(cmplog_binary, argv);
+      setenv("___AFL_EINS_ZWEI_POLIZEI___", "1", 1);
+
+      if (!qemu_mode) argv[0] = cmplog_binary;
+      execv(argv[0], argv);
 
       /* Use a distinctive bitmap value to tell the parent about execv()
          falling through. */