aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/afl-fuzz-one.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/afl-fuzz-one.c b/src/afl-fuzz-one.c
index bc267b15..48aa6eb0 100644
--- a/src/afl-fuzz-one.c
+++ b/src/afl-fuzz-one.c
@@ -2076,7 +2076,7 @@ havoc_stage:
where we take the input file and make random stacked tweaks. */
u32 *mutation_array;
- u32 stack_max;
+ u32 stack_max, stack_max_pow = afl->havoc_stack_pow2;
if (unlikely(afl->text_input || afl->queue_cur->is_ascii)) { // is text?
@@ -2106,22 +2106,20 @@ havoc_stage:
if (temp_len < 64) {
- stack_max = 4;
+ --stack_max_pow;
- } else if (temp_len < 512) {
+ } else if (temp_len <= 8096) {
- stack_max = 8;
-
- } else if (temp_len < 8096) {
-
- stack_max = 16;
+ ++stack_max_pow;
} else {
- stack_max = 32;
+ ++stack_max_pow;
}
+ stack_max = 1 << stack_max_pow;
+
// + (afl->extras_cnt ? 2 : 0) + (afl->a_extras_cnt ? 2 : 0);
for (afl->stage_cur = 0; afl->stage_cur < afl->stage_max; ++afl->stage_cur) {