about summary refs log tree commit diff
path: root/src/afl-forkserver.c
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-08-11 18:26:30 +0200
committerGitHub <noreply@github.com>2020-08-11 18:26:30 +0200
commit83281503b3f1d4109c6f7a6af62a2133d55f1150 (patch)
treec407463af5dcfe5e031c33036a15a87e7a0be634 /src/afl-forkserver.c
parent50e76fce123f01ec83024f3bbd3190f2e1a6d387 (diff)
parentb604f5eafcebb816026e198df0ea66ebcbf18421 (diff)
downloadafl++-83281503b3f1d4109c6f7a6af62a2133d55f1150.tar.gz
Merge pull request #498 from AFLplusplus/taint
dont merge
Diffstat (limited to 'src/afl-forkserver.c')
-rw-r--r--src/afl-forkserver.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/afl-forkserver.c b/src/afl-forkserver.c
index 1ececf27..56475320 100644
--- a/src/afl-forkserver.c
+++ b/src/afl-forkserver.c
@@ -496,11 +496,21 @@ void afl_fsrv_start(afl_forkserver_t *fsrv, char **argv,
 
   char pid_buf[16];
   sprintf(pid_buf, "%d", fsrv->fsrv_pid);
-  if (fsrv->cmplog_binary)
+
+  if (fsrv->taint_mode) {
+
+    setenv("__AFL_TARGET_PID3", pid_buf, 1);
+
+  } else if (fsrv->cmplog_binary) {
+
     setenv("__AFL_TARGET_PID2", pid_buf, 1);
-  else
+
+  } else {
+
     setenv("__AFL_TARGET_PID1", pid_buf, 1);
 
+  }
+
   /* Close the unneeded endpoints. */
 
   close(ctl_pipe[0]);
@@ -922,7 +932,7 @@ void afl_fsrv_write_to_testcase(afl_forkserver_t *fsrv, u8 *buf, size_t len) {
 
   } else {
 
-    s32 fd = fsrv->out_fd;
+    s32 fd;
 
     if (fsrv->out_file) {
 
@@ -941,6 +951,7 @@ void afl_fsrv_write_to_testcase(afl_forkserver_t *fsrv, u8 *buf, size_t len) {
 
     } else {
 
+      fd = fsrv->out_fd;
       lseek(fd, 0, SEEK_SET);
 
     }