schedule improvements, new default is FAST

This commit is contained in:
van Hauser
2020-12-11 10:28:39 +01:00
parent 1a3c9bc36d
commit 8a1acac559
3 changed files with 6 additions and 5 deletions

View File

@ -16,16 +16,17 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
- all compilers combined to afl-cc which emulates the previous ones - all compilers combined to afl-cc which emulates the previous ones
- afl-llvm/gcc-rt.o merged into afl-compiler-rt.o - afl-llvm/gcc-rt.o merged into afl-compiler-rt.o
- afl-fuzz - afl-fuzz
- memory limits are now disabled by default, set them with -m if required - not specifying -M or -S will now auto-set "-S default"
- deterministic fuzzing is now disabled by default and can be enabled with - deterministic fuzzing is now disabled by default and can be enabled with
-D. It is still enabled by default for -M. -D. It is still enabled by default for -M.
- a new seed selection was implemented that uses weighted randoms based on - a new seed selection was implemented that uses weighted randoms based on
a schedule performance score, which is much better that the previous a schedule performance score, which is much better that the previous
walk the whole queue approach. Select the old mode with -Z (auto enabled walk the whole queue approach. Select the old mode with -Z (auto enabled
with -M) with -M)
- rpc.statsd support, for stats and charts, by Edznux, thanks a lot!
- Marcel Boehme submitted a patch that improves all AFFast schedules :) - Marcel Boehme submitted a patch that improves all AFFast schedules :)
- not specifying -M or -S will now auto-set "-S default" - the default schedule is now FAST
- memory limits are now disabled by default, set them with -m if required
- rpc.statsd support, for stats and charts, by Edznux, thanks a lot!
- reading testcases from -i now descends into subdirectories - reading testcases from -i now descends into subdirectories
- allow the -x command line option up to 4 times - allow the -x command line option up to 4 times
- loaded extras now have a duplication protection - loaded extras now have a duplication protection

View File

@ -47,7 +47,7 @@ double compute_weight(afl_state_t *afl, struct queue_entry *q,
u32 hits; u32 hits;
if (likely(afl->schedule >= FAST && afl->schedule < RARE)) { if (likely(afl->schedule >= FAST && afl->schedule <= RARE)) {
hits = afl->n_fuzz[q->n_fuzz_entry]; hits = afl->n_fuzz[q->n_fuzz_entry];
if (hits == 0) { hits = 1; } if (hits == 0) { hits = 1; }

View File

@ -87,7 +87,7 @@ void afl_state_init(afl_state_t *afl, uint32_t map_size) {
afl->w_end = 0.3; afl->w_end = 0.3;
afl->g_max = 5000; afl->g_max = 5000;
afl->period_pilot_tmp = 5000.0; afl->period_pilot_tmp = 5000.0;
afl->schedule = EXPLORE; /* Power schedule (default: EXPLORE) */ afl->schedule = FAST ; /* Power schedule (default: FAST) */
afl->havoc_max_mult = HAVOC_MAX_MULT; afl->havoc_max_mult = HAVOC_MAX_MULT;
afl->clear_screen = 1; /* Window resized? */ afl->clear_screen = 1; /* Window resized? */