p seek is now the default
MODIFY
docs/Changelog.md
docs/Changelog.md
@@ -21,6 +21,9 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
supported size
- longer seeds with the same trace information will now be ignored
for fuzzing but still be used for splicing
+ - crashing seeds are now not prohibiting a run anymore but are
+ skipped. They are used for splicing though.
+ - set the default power schedule to the superiour "seek" schedule
- instrumentation
- not overriding -Ox or -fno-unroll-loops anymore
- new llvm pass: dict2file via AFL_LLVM_DICT2FILE, create afl-fuzz

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

MODIFY
src/afl-fuzz.c
src/afl-fuzz.c
@@ -89,11 +89,10 @@ static void usage(u8 *argv0, int more_help) {
" -o dir - output directory for fuzzer findings\n\n"
"Execution control settings:\n"
- " -p schedule - power schedules compute a seed's performance score. "
- "<explore\n"
- " (default), fast, coe, lin, quad, exploit, mmopt, "
- "rare, seek>\n"
- " see docs/power_schedules.md\n"
+ " -p schedule - power schedules compute a seed's performance score:\n"
+ " <seek (default), explore, rare, exploit, mmopt, coe, "
+ "fast,\n"
+ " lin, quad> -- see docs/power_schedules.md\n"
" -f file - location read by the fuzzed program (default: stdin "
"or @@)\n"
" -t msec - timeout for each run (auto-scaled, 50-%d ms)\n"
@@ -349,15 +348,15 @@ int main(int argc, char **argv_orig, char **envp) {
afl->schedule = RARE;
- } else if (!stricmp(optarg, "seek")) {
+ } else if (!stricmp(optarg, "explore") || !stricmp(optarg, "afl")) {
- afl->schedule = SEEK;
+ afl->schedule = EXPLORE;
- } else if (!stricmp(optarg, "explore") || !stricmp(optarg, "default") ||
+ } else if (!stricmp(optarg, "seek") || !stricmp(optarg, "default") ||
- !stricmp(optarg, "normal") || !stricmp(optarg, "afl")) {
+ !stricmp(optarg, "normal")) {
- afl->schedule = EXPLORE;
+ afl->schedule = SEEK;
} else {

-p seek is now the default