fix for schedules
MODIFY
src/afl-fuzz-bitmap.c
src/afl-fuzz-bitmap.c
@@ -559,7 +559,7 @@ u8 save_if_interesting(afl_state_t *afl, void *mem, u32 len, u8 fault) {
if (q->exec_cksum == cksum) {
- q->n_fuzz = q->n_fuzz + 1;
+ ++q->n_fuzz;
break;
}

MODIFY
src/afl-fuzz-queue.c
src/afl-fuzz-queue.c
@@ -196,7 +196,7 @@ void update_bitmap_score(afl_state_t *afl, struct queue_entry *q) {
u64 fav_factor;
u64 fuzz_p2;
- if (unlikely(afl->schedule >= FAST))
+ if (unlikely(afl->schedule >= FAST && afl->schedule <= RARE))
fuzz_p2 = next_pow2(q->n_fuzz);
else
fuzz_p2 = q->fuzz_level;
@@ -222,7 +222,7 @@ void update_bitmap_score(afl_state_t *afl, struct queue_entry *q) {
/* Faster-executing or smaller test cases are favored. */
u64 top_rated_fav_factor;
u64 top_rated_fuzz_p2;
- if (unlikely(afl->schedule >= FAST))
+ if (unlikely(afl->schedule >= FAST && afl->schedule <= RARE))
top_rated_fuzz_p2 = next_pow2(afl->top_rated[i]->n_fuzz);
else
top_rated_fuzz_p2 = afl->top_rated[i]->fuzz_level;
@@ -601,7 +601,7 @@ u32 calculate_score(afl_state_t *afl, struct queue_entry *q) {
}
- if (unlikely(afl->schedule >= FAST)) {
+ if (unlikely(afl->schedule >= FAST && afl->schedule <= RARE)) {
if (factor > MAX_FACTOR) { factor = MAX_FACTOR; }
perf_score *= factor / POWER_BETA;

fix for schedules