diff options
author | van Hauser <vh@thc.org> | 2022-08-03 11:08:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-03 11:08:10 +0200 |
commit | a2f3c3ee519c19935039d1fe1e8b77cdc32fa375 (patch) | |
tree | 3a0007a3e8a07b58c4bef927d9c52e0043aa8466 /src/afl-fuzz-mutators.c | |
parent | c57988e672634ee98048eba6432cc1f4e377e07c (diff) | |
parent | 6056d4b140f0665c6a701cada9166379be3435ac (diff) | |
download | afl++-a2f3c3ee519c19935039d1fe1e8b77cdc32fa375.tar.gz |
Merge pull request #1478 from AFLplusplus/dev
Push to stable
Diffstat (limited to 'src/afl-fuzz-mutators.c')
-rw-r--r-- | src/afl-fuzz-mutators.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/afl-fuzz-mutators.c b/src/afl-fuzz-mutators.c index dd97a7d3..b9daebfa 100644 --- a/src/afl-fuzz-mutators.c +++ b/src/afl-fuzz-mutators.c @@ -430,13 +430,21 @@ u8 trim_case_custom(afl_state_t *afl, struct queue_entry *q, u8 *in_buf, retlen = write_to_testcase(afl, (void **)&retbuf, retlen, 0); - fault = fuzz_run_target(afl, &afl->fsrv, afl->fsrv.exec_tmout); - ++afl->trim_execs; + if (unlikely(!retlen)) { + + ++afl->trim_execs; + + } else { - if (afl->stop_soon || fault == FSRV_RUN_ERROR) { goto abort_trimming; } + fault = fuzz_run_target(afl, &afl->fsrv, afl->fsrv.exec_tmout); + ++afl->trim_execs; - classify_counts(&afl->fsrv); - cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST); + if (afl->stop_soon || fault == FSRV_RUN_ERROR) { goto abort_trimming; } + + classify_counts(&afl->fsrv); + cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST); + + } } |