aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2024-09-26 14:42:59 +0200
committervanhauser-thc <vh@thc.org>2024-09-26 14:42:59 +0200
commit55b67f1372b399b0b2ebd3e7aad7b7e130b2d00b (patch)
treead348c39e351636f5da2c33c85da8f0504644ced
parent2e6c74f9b9d3bc70ef9474eb08592b9cd151d3c7 (diff)
downloadafl++-55b67f1372b399b0b2ebd3e7aad7b7e130b2d00b.tar.gz
fix postprocess for calibration
-rw-r--r--docs/Changelog.md1
-rw-r--r--src/afl-fuzz-run.c6
2 files changed, 7 insertions, 0 deletions
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 7043202f..68d362db 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -15,6 +15,7 @@
function after the target has been restarted.
- because of bad math and undefined behaviour fixes we have to change
the CMPLOG map. **YOU NEED TO RECOMPILE CMPLOG TARGETS**
+ - fixed custom_post_process for calibration
- frida_mode:
- AFL_FRIDA_PERSISTENT_ADDR can now be be any reachable address not just
a function entry
diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c
index 4ce17eb2..c2e29fb3 100644
--- a/src/afl-fuzz-run.c
+++ b/src/afl-fuzz-run.c
@@ -487,6 +487,9 @@ u8 calibrate_case(afl_state_t *afl, struct queue_entry *q, u8 *use_mem,
}
+ u8 saved_afl_post_process_keep_original =
+ afl->afl_env.afl_post_process_keep_original;
+
/* we need a dummy run if this is LTO + cmplog */
if (unlikely(afl->shm.cmplog_mode)) {
@@ -661,6 +664,9 @@ u8 calibrate_case(afl_state_t *afl, struct queue_entry *q, u8 *use_mem,
abort_calibration:
+ afl->afl_env.afl_post_process_keep_original =
+ saved_afl_post_process_keep_original;
+
if (new_bits == 2 && !q->has_new_cov) {
q->has_new_cov = 1;