diff options
author | van Hauser <vh@thc.org> | 2023-02-12 17:55:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-12 17:55:48 +0100 |
commit | 6030df2f563c8c5bf482217478375a6b7ea3b15a (patch) | |
tree | 364f019b6a3f8384b67589ac4f1dd83497d351dd /src | |
parent | 141c324eb935ddd25a9ea898bf94ed4f3afb7a79 (diff) | |
parent | 846e910e0c6d09808ea6f87b59e2cf79769979dc (diff) | |
download | afl++-6030df2f563c8c5bf482217478375a6b7ea3b15a.tar.gz |
Merge pull request #1639 from apach301/fix-score-calculation
Increase fuzz_level for mopt_common_fuzzing
Diffstat (limited to 'src')
-rw-r--r-- | src/afl-fuzz-one.c | 1 | ||||
-rw-r--r-- | src/afl-fuzz-queue.c | 6 | ||||
-rw-r--r-- | src/afl-fuzz.c | 6 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/afl-fuzz-one.c b/src/afl-fuzz-one.c index 6367f597..76826945 100644 --- a/src/afl-fuzz-one.c +++ b/src/afl-fuzz-one.c @@ -5683,6 +5683,7 @@ pacemaker_fuzzing: } /* block */ + ++afl->queue_cur->fuzz_level; return ret_val; } diff --git a/src/afl-fuzz-queue.c b/src/afl-fuzz-queue.c index e3faa392..ebfc252c 100644 --- a/src/afl-fuzz-queue.c +++ b/src/afl-fuzz-queue.c @@ -1007,10 +1007,16 @@ u32 calculate_score(afl_state_t *afl, struct queue_entry *q) { break; case LIN: + // Don't modify perf_score for unfuzzed seeds + if (!q->fuzz_level) break; + factor = q->fuzz_level / (afl->n_fuzz[q->n_fuzz_entry] + 1); break; case QUAD: + // Don't modify perf_score for unfuzzed seeds + if (!q->fuzz_level) break; + factor = q->fuzz_level * q->fuzz_level / (afl->n_fuzz[q->n_fuzz_entry] + 1); break; diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c index 6bd81304..5f286427 100644 --- a/src/afl-fuzz.c +++ b/src/afl-fuzz.c @@ -1297,6 +1297,12 @@ int main(int argc, char **argv_orig, char **envp) { } + if (afl->is_main_node == 1 && afl->schedule != FAST && afl->schedule != EXPLORE) { + + FATAL("-M is compatible only with fast and explore -p power schedules"); + + } + if (optind == argc || !afl->in_dir || !afl->out_dir || show_help) { usage(argv[0], show_help); |