aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Maier <domenukk@gmail.com>2020-03-01 14:09:21 +0100
committerDominik Maier <domenukk@gmail.com>2020-03-01 14:09:21 +0100
commit3e0a3ec45fe35f62a293d86139913ecf45670535 (patch)
tree465f6486743d37db3bc2fb989acd878b2964ed66
parent6865cd8d691385f805a63b62f9836abf98061e4f (diff)
downloadafl++-3e0a3ec45fe35f62a293d86139913ecf45670535.tar.gz
migrated autoresume to use get_afl_env
-rw-r--r--include/afl-fuzz.h1
-rw-r--r--src/afl-fuzz-globals.c1
-rw-r--r--src/afl-fuzz-init.c2
-rw-r--r--src/afl-fuzz.c17
4 files changed, 12 insertions, 9 deletions
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index 25764726..1999f16c 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -315,6 +315,7 @@ extern u8 skip_deterministic, /* Skip deterministic stages? */
no_forkserver, /* Disable forkserver? */
crash_mode, /* Crash mode! Yeah! */
in_place_resume, /* Attempt in-place resume? */
+ autoresume, /* Resume if out_dir exists? */
auto_changed, /* Auto-generated tokens changed? */
no_cpu_meter_red, /* Feng shui on the status screen */
no_arith, /* Skip most arithmetic ops */
diff --git a/src/afl-fuzz-globals.c b/src/afl-fuzz-globals.c
index fc71d29d..ae343026 100644
--- a/src/afl-fuzz-globals.c
+++ b/src/afl-fuzz-globals.c
@@ -115,6 +115,7 @@ u8 skip_deterministic, /* Skip deterministic stages? */
no_forkserver, /* Disable forkserver? */
crash_mode, /* Crash mode! Yeah! */
in_place_resume, /* Attempt in-place resume? */
+ autoresume, /* Resume if out_dir exists? */
auto_changed, /* Auto-generated tokens changed? */
no_cpu_meter_red, /* Feng shui on the status screen */
no_arith, /* Skip most arithmetic ops */
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c
index 6e7d3f74..a82fa8f9 100644
--- a/src/afl-fuzz-init.c
+++ b/src/afl-fuzz-init.c
@@ -1066,7 +1066,7 @@ static void handle_existing_out_dir(void) {
/* Autoresume treats a normal run as in_place_resume if a valid out dir already exists */
- if (getenv("AFL_AUTORESUME")) {
+ if (!in_place_resume && autoresume) {
OKF("Detected prior run with AFL_AUTORESUME set. Resuming.");
in_place_resume = 1;
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index d4c75d9c..98c9dbe3 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -314,14 +314,7 @@ int main(int argc, char** argv, char** envp) {
if (in_dir) FATAL("Multiple -i options not supported");
in_dir = optarg;
- if (!strcmp(in_dir, "-")) {
-
- if (getenv("AFL_AUTORESUME"))
- WARNF("AFL_AUTORESUME has no effect for '-i -'");
-
- in_place_resume = 1;
-
- }
+ if (!strcmp(in_dir, "-")) in_place_resume = 1;
break;
@@ -757,6 +750,14 @@ int main(int argc, char** argv, char** envp) {
if (get_afl_env("AFL_SHUFFLE_QUEUE")) shuffle_queue = 1;
if (get_afl_env("AFL_FAST_CAL")) fast_cal = 1;
+ if (get_afl_env("AFL_AUTORESUME")) {
+
+ autoresume = 1;
+ if (in_place_resume)
+ WARNF("AFL_AUTORESUME has no effect for '-i -'");
+
+ }
+
if (get_afl_env("AFL_HANG_TMOUT")) {
hang_tmout = atoi(getenv("AFL_HANG_TMOUT"));