diff options
author | van Hauser <vh@thc.org> | 2020-04-26 18:42:42 +0200 |
---|---|---|
committer | van Hauser <vh@thc.org> | 2020-04-26 18:42:42 +0200 |
commit | 4ffa5b06360364936fa0c17fa8851fbaf4ea6581 (patch) | |
tree | 3c88de114129dde04ef3b83c18bbe79897bc4164 /src/afl-fuzz-run.c | |
parent | ea876e59a8c1abc979ea05aa4dbe660608aaa9ba (diff) | |
download | afl++-4ffa5b06360364936fa0c17fa8851fbaf4ea6581.tar.gz |
fix negative stability bug (hopefully)
Diffstat (limited to 'src/afl-fuzz-run.c')
-rw-r--r-- | src/afl-fuzz-run.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c index bf8c4ec0..692026d4 100644 --- a/src/afl-fuzz-run.c +++ b/src/afl-fuzz-run.c @@ -193,6 +193,8 @@ u8 calibrate_case(afl_state_t *afl, struct queue_entry *q, u8 *use_mem, if (q->exec_cksum) { memcpy(afl->first_trace, afl->fsrv.trace_bits, afl->fsrv.map_size); + u8 hnb = has_new_bits(afl, afl->virgin_bits); + if (hnb > new_bits) { new_bits = hnb; } } @@ -226,12 +228,11 @@ u8 calibrate_case(afl_state_t *afl, struct queue_entry *q, u8 *use_mem, } cksum = hash32(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST); + u8 hnb = has_new_bits(afl, afl->virgin_bits); + if (hnb > new_bits) { new_bits = hnb; } if (q->exec_cksum != cksum) { - u8 hnb = has_new_bits(afl, afl->virgin_bits); - if (hnb > new_bits) { new_bits = hnb; } - if (q->exec_cksum) { u32 i; |