only reverse reading the queue on restart

This commit is contained in:
vanhauser-thc 2023-04-25 08:33:51 +02:00
parent 7b33148b75
commit c0ecf7cf61
2 changed files with 24 additions and 10 deletions

View File

@ -7,6 +7,10 @@
- afl-fuzz:
- new env `AFL_POST_PROCESS_KEEP_ORIGINAL` to keep the orignal
data before post process on finds
- reverse reading the seeds only on restarts
- afl-cc:
- new env `AFL_LLVM_LTO_SKIPINIT` to support the AFL++ based WASM
(https://github.com/fgsect/WAFL) project
- afl-showmap:
- added custom mutator post_process and send support
- add `-I filelist` option, an alternative to `-i in_dir`

View File

@ -718,10 +718,21 @@ void read_testcases(afl_state_t *afl, u8 *directory) {
if (nl_cnt) {
i = nl_cnt;
u32 done = 0;
if (unlikely(afl->in_place_resume)) {
i = nl_cnt;
} else {
i = 0;
}
do {
--i;
if (unlikely(afl->in_place_resume)) { --i; }
struct stat st;
u8 dfn[PATH_MAX];
@ -801,18 +812,17 @@ void read_testcases(afl_state_t *afl, u8 *directory) {
}
/*
if (unlikely(afl->schedule >= FAST && afl->schedule <= RARE)) {
if (unlikely(afl->in_place_resume)) {
u64 cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size,
HASH_CONST); afl->queue_top->n_fuzz_entry = cksum % N_FUZZ_SIZE;
afl->n_fuzz[afl->queue_top->n_fuzz_entry] = 1;
if (unlikely(i == 0)) { done = 1; }
}
} else {
*/
if (unlikely(++i == (u32)nl_cnt)) { done = 1; }
} while (i > 0);
}
} while (!done);
}