diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/afl-fuzz-globals.c | 1 | ||||
-rw-r--r-- | src/afl-fuzz-init.c | 2 | ||||
-rw-r--r-- | src/afl-fuzz.c | 17 |
3 files changed, 11 insertions, 9 deletions
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")); |