diff options
Diffstat (limited to 'src/afl-fuzz-queue.c')
-rw-r--r-- | src/afl-fuzz-queue.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/afl-fuzz-queue.c b/src/afl-fuzz-queue.c index 071e4a4c..84092ff8 100644 --- a/src/afl-fuzz-queue.c +++ b/src/afl-fuzz-queue.c @@ -45,8 +45,15 @@ inline u32 select_next_queue_entry(afl_state_t *afl) { double compute_weight(afl_state_t *afl, struct queue_entry *q, double avg_exec_us, double avg_bitmap_size) { - u32 hits = afl->n_fuzz[q->n_fuzz_entry]; - if (hits == 0) hits = 1; + u32 hits; + + if (likely(afl->schedule >= FAST && afl->schedule < RARE)) { + + hits = afl->n_fuzz[q->n_fuzz_entry]; + if (hits == 0) { hits = 1; } + + } else { hits = 1; } + double weight = 1.0; weight *= avg_exec_us / q->exec_us; @@ -83,7 +90,7 @@ void create_alias_table(afl_state_t *afl) { memset((void *)afl->alias_table, 0, n * sizeof(u32)); memset((void *)afl->alias_probability, 0, n * sizeof(double)); - if (likely(afl->schedule >= FAST && afl->schedule <= RARE)) { + if (likely(afl->schedule < RARE)) { double avg_exec_us = 0.0; double avg_bitmap_size = 0.0; |