diff options
author | van Hauser <vh@thc.org> | 2023-09-11 12:54:21 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-11 12:54:21 +0000 |
commit | 9f023d482bf4deace3b2f3d726a1bf7062511087 (patch) | |
tree | d9f99fec6352900147f3b51fd5e7572d68a0e521 /src/afl-fuzz-queue.c | |
parent | 87b33740ea426bac276a9eb4bc5f201bd396b6dc (diff) | |
parent | a8185f8ff294d937e6074f148f6b4c971ca02cee (diff) | |
download | afl++-9f023d482bf4deace3b2f3d726a1bf7062511087.tar.gz |
Merge branch 'dev' into reinit
Diffstat (limited to 'src/afl-fuzz-queue.c')
-rw-r--r-- | src/afl-fuzz-queue.c | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/afl-fuzz-queue.c b/src/afl-fuzz-queue.c index 78c1d654..ce9718b0 100644 --- a/src/afl-fuzz-queue.c +++ b/src/afl-fuzz-queue.c @@ -738,7 +738,11 @@ void update_bitmap_score(afl_state_t *afl, struct queue_entry *q) { u64 top_rated_fav_factor; u64 top_rated_fuzz_p2; - if (likely(afl->schedule >= FAST && afl->schedule <= RARE)) { + if (likely(afl->schedule >= FAST && afl->schedule < RARE)) { + + top_rated_fuzz_p2 = 0; // Skip the fuzz_p2 comparison + + } else if (unlikely(afl->schedule == RARE)) { top_rated_fuzz_p2 = next_pow2(afl->n_fuzz[afl->top_rated[i]->n_fuzz_entry]); @@ -827,6 +831,8 @@ void cull_queue(afl_state_t *afl) { /* Let's see if anything in the bitmap isn't captured in temp_v. If yes, and if it has a afl->top_rated[] contender, let's use it. */ + afl->smallest_favored = -1; + for (i = 0; i < afl->fsrv.map_size; ++i) { if (afl->top_rated[i] && (temp_v[i >> 3] & (1 << (i & 7)))) { @@ -850,7 +856,16 @@ void cull_queue(afl_state_t *afl) { afl->top_rated[i]->favored = 1; ++afl->queued_favored; - if (!afl->top_rated[i]->was_fuzzed) { ++afl->pending_favored; } + if (!afl->top_rated[i]->was_fuzzed) { + + ++afl->pending_favored; + if (unlikely(afl->smallest_favored < 0)) { + + afl->smallest_favored = (s64)afl->top_rated[i]->id; + + } + + } } |