about summary refs log tree commit diff
path: root/src/afl-fuzz-bitmap.c
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2023-12-15 09:29:11 +0100
committerGitHub <noreply@github.com>2023-12-15 09:29:11 +0100
commit108fb0b29ad1586e668ba23e23a0eb1a13c45c49 (patch)
tree28a5f5091317e9cb7d9151e53f33c7b56cec552b /src/afl-fuzz-bitmap.c
parentef706ad668b36e65d24f352f5bcee22957f5f1cc (diff)
parent8a7705aedbb759dd8ff331d47a99cc6bbc17902b (diff)
downloadafl++-108fb0b29ad1586e668ba23e23a0eb1a13c45c49.tar.gz
Merge pull request #1933 from AFLplusplus/dev v4.09c
push to stable
Diffstat (limited to 'src/afl-fuzz-bitmap.c')
-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..5f67347c 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);
+      u64 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;
 
   }