diff options
author | vanhauser-thc <vh@thc.org> | 2023-09-03 11:22:54 +0200 |
---|---|---|
committer | vanhauser-thc <vh@thc.org> | 2023-09-03 11:22:54 +0200 |
commit | a809c3c50ce32fde390769b607b020dd68730474 (patch) | |
tree | 7023564a7e7621123fb1e3d1aee02c460a0cd6d4 /src/afl-fuzz-queue.c | |
parent | 78848f863767cee6543166bd52d67e0051641360 (diff) | |
download | afl++-a809c3c50ce32fde390769b607b020dd68730474.tar.gz |
less impact
Diffstat (limited to 'src/afl-fuzz-queue.c')
-rw-r--r-- | src/afl-fuzz-queue.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/afl-fuzz-queue.c b/src/afl-fuzz-queue.c index 14ba1ace..5f915c9a 100644 --- a/src/afl-fuzz-queue.c +++ b/src/afl-fuzz-queue.c @@ -826,6 +826,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)))) { @@ -849,7 +851,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 > (s64)afl->top_rated[i]->id)) { + + afl->smallest_favored = (s64)afl->top_rated[i]->id; + + } + + } } |