aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2023-07-18 09:56:28 +0200
committervanhauser-thc <vh@thc.org>2023-07-18 09:56:28 +0200
commit4113b6ccada97c32b3852ece5ffe2fee6dcbc2c8 (patch)
tree35e997e3711be5b6d8fdbf5424a50df29f731814 /src
parent2b8e528a3b5f44df590b8f727983d142857d0433 (diff)
downloadafl++-4113b6ccada97c32b3852ece5ffe2fee6dcbc2c8.tar.gz
take care of uninstrumented mode for fuzz state and mode
Diffstat (limited to 'src')
-rw-r--r--src/afl-fuzz-bitmap.c3
-rw-r--r--src/afl-fuzz-stats.c9
-rw-r--r--src/afl-fuzz.c3
3 files changed, 11 insertions, 4 deletions
diff --git a/src/afl-fuzz-bitmap.c b/src/afl-fuzz-bitmap.c
index fb8a1d4b..87157cad 100644
--- a/src/afl-fuzz-bitmap.c
+++ b/src/afl-fuzz-bitmap.c
@@ -533,7 +533,8 @@ save_if_interesting(afl_state_t *afl, void *mem, u32 len, u8 fault) {
close(fd);
add_to_queue(afl, queue_fn, len, 0);
- if (unlikely(afl->fuzz_mode) && likely(afl->switch_fuzz_mode)) {
+ if (unlikely(afl->fuzz_mode) &&
+ likely(afl->switch_fuzz_mode && !afl->non_instrumented_mode)) {
if (afl->afl_env.afl_no_ui) {
diff --git a/src/afl-fuzz-stats.c b/src/afl-fuzz-stats.c
index 4013370d..3d0a9b9a 100644
--- a/src/afl-fuzz-stats.c
+++ b/src/afl-fuzz-stats.c
@@ -37,8 +37,13 @@ char *get_fuzzing_state(afl_state_t *afl) {
u64 cur_run_time = cur_ms - afl->start_time;
u64 cur_total_run_time = afl->prev_run_time + cur_run_time;
- if (unlikely(cur_run_time < 60 * 3 * 1000 ||
- cur_total_run_time < 60 * 5 * 1000)) {
+ if (unlikely(afl->non_instrumented_mode)) {
+
+ return fuzzing_state[1];
+
+ } else if (unlikely(cur_run_time < 60 * 3 * 1000 ||
+
+ cur_total_run_time < 60 * 5 * 1000)) {
return fuzzing_state[0];
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index 9afece66..d8a88f00 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -2755,7 +2755,8 @@ int main(int argc, char **argv_orig, char **envp) {
u64 cur_time = get_cur_time();
- if (likely(afl->switch_fuzz_mode && afl->fuzz_mode == 0) &&
+ if (likely(afl->switch_fuzz_mode && afl->fuzz_mode == 0 &&
+ !afl->non_instrumented_mode) &&
unlikely(cur_time > afl->last_find_time + afl->switch_fuzz_mode)) {
if (afl->afl_env.afl_no_ui) {