about summary refs log tree commit diff
path: root/src/afl-common.c
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2022-02-08 20:15:48 +0100
committervanhauser-thc <vh@thc.org>2022-02-08 20:15:48 +0100
commitcf853fb2494912a1c4b531ffcf302843266639b7 (patch)
tree136fb71b40254cf04f8605ee4bf4638de6974fbe /src/afl-common.c
parentfa628865c1d3b8d0cc4bc04efc516fc7b48b6a69 (diff)
downloadafl++-cf853fb2494912a1c4b531ffcf302843266639b7.tar.gz
reintroduce AFL_PERSISTENT and AFL_DEFER_FORKSRV
Diffstat (limited to 'src/afl-common.c')
-rw-r--r--src/afl-common.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/src/afl-common.c b/src/afl-common.c
index e684302a..7c074acc 100644
--- a/src/afl-common.c
+++ b/src/afl-common.c
@@ -63,8 +63,7 @@ u32 check_binary_signatures(u8 *fn) {
   if (f_data == MAP_FAILED) { PFATAL("Unable to mmap file '%s'", fn); }
   close(fd);
 
-  if (memmem(f_data, f_len, PERSIST_SIG, strlen(PERSIST_SIG) + 1) ||
-      getenv(PERSIST_ENV_VAR)) {
+  if (memmem(f_data, f_len, PERSIST_SIG, strlen(PERSIST_SIG) + 1)) {
 
     if (!be_quiet) { OKF(cPIN "Persistent mode binary detected."); }
     setenv(PERSIST_ENV_VAR, "1", 1);
@@ -72,11 +71,9 @@ u32 check_binary_signatures(u8 *fn) {
 
   } else if (getenv("AFL_PERSISTENT")) {
 
-    if (!be_quiet) {
-
-      WARNF("AFL_PERSISTENT is no longer supported and may misbehave!");
-
-    }
+    if (!be_quiet) { OKF(cPIN "Persistent mode enforced."); }
+    setenv(PERSIST_ENV_VAR, "1", 1);
+    ret = 1;
 
   } else if (getenv("AFL_FRIDA_PERSISTENT_ADDR")) {
 
@@ -91,8 +88,7 @@ u32 check_binary_signatures(u8 *fn) {
 
   }
 
-  if (memmem(f_data, f_len, DEFER_SIG, strlen(DEFER_SIG) + 1) ||
-      getenv(DEFER_ENV_VAR)) {
+  if (memmem(f_data, f_len, DEFER_SIG, strlen(DEFER_SIG) + 1)) {
 
     if (!be_quiet) { OKF(cPIN "Deferred forkserver binary detected."); }
     setenv(DEFER_ENV_VAR, "1", 1);
@@ -100,11 +96,9 @@ u32 check_binary_signatures(u8 *fn) {
 
   } else if (getenv("AFL_DEFER_FORKSRV")) {
 
-    if (!be_quiet) {
-
-      WARNF("AFL_DEFER_FORKSRV is no longer supported and may misbehave!");
-
-    }
+    if (!be_quiet) { OKF(cPIN "Deferred forkserver enforced."); }
+    setenv(DEFER_ENV_VAR, "1", 1);
+    ret += 2;
 
   }