diff options
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | src/afl-fuzz-one.c | 12 |
2 files changed, 10 insertions, 3 deletions
diff --git a/README.md b/README.md index 194e4628..e9d0f826 100644 --- a/README.md +++ b/README.md @@ -1132,3 +1132,4 @@ Questions? Concerns? Bug reports? The contributors can be reached via There is also a mailing list for the afl/afl++ project; to join, send a mail to <afl-users+subscribe@googlegroups.com>. Or, if you prefer to browse archives first, try: [https://groups.google.com/group/afl-users](https://groups.google.com/group/afl-users) + diff --git a/src/afl-fuzz-one.c b/src/afl-fuzz-one.c index 1e63abc7..35ff5466 100644 --- a/src/afl-fuzz-one.c +++ b/src/afl-fuzz-one.c @@ -1840,16 +1840,22 @@ havoc_stage: u32 r_max, r; + r_max = 15 + ((afl->extras_cnt + afl->a_extras_cnt) ? 2 : 0); + if (unlikely(afl->expand_havoc && afl->ready_for_splicing_count > 1)) { /* add expensive havoc cases here, they are activated after a full cycle without finds happened */ - r_max = 16 + ((afl->extras_cnt + afl->a_extras_cnt) ? 2 : 0); + r_max += 1; - } else { + } + + if (unlikely(get_cur_time() - afl->last_path_time > 5000)) { + + /* add expensive havoc cases here if there is no findings in the last 5s */ - r_max = 15 + ((afl->extras_cnt + afl->a_extras_cnt) ? 2 : 0); + r_max += 1; } |