about summary refs log tree commit diff
path: root/src/afl-fuzz.c
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2021-01-20 01:49:32 +0100
committervan Hauser <vh@thc.org>2021-01-20 01:49:32 +0100
commite7b572af3608e2d097aad17408ad4853befdc02c (patch)
tree4837bfb6e5d88a1b4a9efc6a5081f30fab6a6c15 /src/afl-fuzz.c
parent86c567fa3a37e9181b5e692b53b5fae07921cc33 (diff)
downloadafl++-e7b572af3608e2d097aad17408ad4853befdc02c.tar.gz
bugfix and new transform detection feature
Diffstat (limited to 'src/afl-fuzz.c')
-rw-r--r--src/afl-fuzz.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 88c40ee8..0f76e8a3 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -1515,7 +1515,21 @@ int main(int argc, char **argv_orig, char **envp) {
 
   }
 
+  u8 *save_env = NULL;
+  if (afl->cmplog_binary) {
+
+    save_env = ck_strdup(getenv(CMPLOG_SHM_ENV_VAR));
+    unsetenv(CMPLOG_SHM_ENV_VAR);  // normal forkserver should not have this
+
+  }
+
   perform_dry_run(afl);
+  if (save_env) {
+
+    setenv(CMPLOG_SHM_ENV_VAR, save_env, 1);  // needed for at_exit()
+    ck_free(save_env);
+
+  }
 
   /*
     if (!user_set_cache && afl->q_testcase_max_cache_size) {