aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2024-05-07 16:46:15 +0200
committervanhauser-thc <vh@thc.org>2024-05-07 16:46:24 +0200
commitac6ccd53dff5a43050ad8a0922c8fa47e69333a8 (patch)
treeacf099a464c9c98b6cff507eb36c865acbfee8ee
parent4ec376bd6a76c3a624d01961dcf15e83a28cda08 (diff)
downloadAFLplusplus-ac6ccd53dff5a43050ad8a0922c8fa47e69333a8.tar.gz
stat update during syncing
-rw-r--r--docs/Changelog.md1
-rw-r--r--src/afl-fuzz-init.c9
-rw-r--r--src/afl-fuzz-run.c3
3 files changed, 12 insertions, 1 deletions
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 5cb6973a..87311b1b 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -9,6 +9,7 @@
- fix AFL_PERSISTENT_RECORD
- prevent filenames in the queue that have spaces
- minor fix for FAST schedules
+ - more frequent stats update when syncing (todo: check performance impact)
* afl-cc:
- fixes for LTO and outdated afl-gcc mode
- ensure shared memory variables are visible in weird build setups
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c
index b3fe9318..01d0730d 100644
--- a/src/afl-fuzz-init.c
+++ b/src/afl-fuzz-init.c
@@ -577,6 +577,8 @@ void read_foreign_testcases(afl_state_t *afl, int first) {
afl->stage_cur = 0;
afl->stage_max = 0;
+ show_stats(afl);
+
for (i = 0; i < (u32)nl_cnt; ++i) {
struct stat st;
@@ -655,7 +657,12 @@ void read_foreign_testcases(afl_state_t *afl, int first) {
munmap(mem, st.st_size);
close(fd);
- if (st.st_mtime > mtime_max) mtime_max = st.st_mtime;
+ if (st.st_mtime > mtime_max) {
+
+ mtime_max = st.st_mtime;
+ show_stats(afl);
+
+ }
}
diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c
index ab96c778..ed7cb4ce 100644
--- a/src/afl-fuzz-run.c
+++ b/src/afl-fuzz-run.c
@@ -771,6 +771,8 @@ void sync_fuzzers(afl_state_t *afl) {
afl->stage_cur = 0;
afl->stage_max = 0;
+ show_stats(afl);
+
/* For every file queued by this fuzzer, parse ID and see if we have
looked at it before; exec a test case if not. */
@@ -830,6 +832,7 @@ void sync_fuzzers(afl_state_t *afl) {
afl->syncing_party = sd_ent->d_name;
afl->queued_imported += save_if_interesting(afl, mem, new_len, fault);
+ show_stats(afl);
afl->syncing_party = 0;
munmap(mem, st.st_size);