aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2022-02-05 07:25:12 +0100
committervanhauser-thc <vh@thc.org>2022-02-05 07:25:12 +0100
commit04d693721bbfe181a8d1c6361d46baa74388e6f2 (patch)
tree1a391419a3aea0013c9080904443c79fce7cb371
parent9eb66cccf4443e1ee7bcfe8f4e81c9836b39d834 (diff)
downloadafl++-04d693721bbfe181a8d1c6361d46baa74388e6f2.tar.gz
force persistent and deferred also for tools
-rw-r--r--src/afl-common.c6
-rw-r--r--src/afl-fuzz-init.c1
-rw-r--r--src/afl-fuzz.c2
3 files changed, 6 insertions, 3 deletions
diff --git a/src/afl-common.c b/src/afl-common.c
index 7ba3bb74..e684302a 100644
--- a/src/afl-common.c
+++ b/src/afl-common.c
@@ -63,7 +63,8 @@ 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)) {
+ if (memmem(f_data, f_len, PERSIST_SIG, strlen(PERSIST_SIG) + 1) ||
+ getenv(PERSIST_ENV_VAR)) {
if (!be_quiet) { OKF(cPIN "Persistent mode binary detected."); }
setenv(PERSIST_ENV_VAR, "1", 1);
@@ -90,7 +91,8 @@ u32 check_binary_signatures(u8 *fn) {
}
- if (memmem(f_data, f_len, DEFER_SIG, strlen(DEFER_SIG) + 1)) {
+ if (memmem(f_data, f_len, DEFER_SIG, strlen(DEFER_SIG) + 1) ||
+ getenv(DEFER_ENV_VAR)) {
if (!be_quiet) { OKF(cPIN "Deferred forkserver binary detected."); }
setenv(DEFER_ENV_VAR, "1", 1);
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c
index 9e74079b..eb73b120 100644
--- a/src/afl-fuzz-init.c
+++ b/src/afl-fuzz-init.c
@@ -2830,6 +2830,7 @@ void check_binary(afl_state_t *afl, u8 *fname) {
OKF("FRIDA Persistent mode configuration options detected.");
setenv(PERSIST_ENV_VAR, "1", 1);
afl->persistent_mode = 1;
+ afl->fsrv.persistent_mode = 1;
afl->shmem_testcase_mode = 1;
}
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index d8610df9..7a74fc7e 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -1912,7 +1912,7 @@ int main(int argc, char **argv_orig, char **envp) {
WARNF(
"Deferred forkserver mode environment variable detected, forcing "
- "defered forkserver!");
+ "deferred forkserver!");
afl->deferred_mode = 1;
}