about summary refs log tree commit diff
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2023-12-10 14:05:41 +0100
committervanhauser-thc <vh@thc.org>2023-12-10 14:05:41 +0100
commita062e84ba60a687b2a0ea390a8b7d9701e1ee27b (patch)
tree9e161d1c246e8687394084c5eb7ecac8cd949e64
parent520daf5e0f8b6e7df9fa3b77b7c1b8268b0dcd0f (diff)
downloadafl++-a062e84ba60a687b2a0ea390a8b7d9701e1ee27b.tar.gz
add n_fuzz to ignore_timeouts
-rw-r--r--src/afl-fuzz-bitmap.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/afl-fuzz-bitmap.c b/src/afl-fuzz-bitmap.c
index 568c5274..7c81d01a 100644
--- a/src/afl-fuzz-bitmap.c
+++ b/src/afl-fuzz-bitmap.c
@@ -459,6 +459,17 @@ save_if_interesting(afl_state_t *afl, void *mem, u32 len, u8 fault) {
 
   if (unlikely(fault == FSRV_RUN_TMOUT && afl->afl_env.afl_ignore_timeouts)) {
 
+    if (likely(afl->schedule >= FAST && afl->schedule <= RARE)) {
+
+      classify_counts(&afl->fsrv);
+      cksum = hash64(afl->fsrv.trace_bits, afl->fsrv.map_size, HASH_CONST);
+
+      // Saturated increment
+      if (likely(afl->n_fuzz[cksum % N_FUZZ_SIZE] < 0xFFFFFFFF))
+        afl->n_fuzz[cksum % N_FUZZ_SIZE]++;
+
+    }
+
     return 0;
 
   }