add execs_done to plot file
diff --git a/docs/Changelog.md b/docs/Changelog.md
index d00d59d..8bbb4e1 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -13,6 +13,7 @@
- afl-fuzz:
- Fix for auto dictionary entries found during fuzzing to not throw out
a -x dictionary
+ - added total execs done to plot file
- llvm_mode:
- Ported SanCov to LTO, and made it the default for LTO. better
instrumentation locations
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index c04ba39..1deeddd 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -624,7 +624,7 @@
/* plot file saves from last run */
u32 plot_prev_qp, plot_prev_pf, plot_prev_pnf, plot_prev_ce, plot_prev_md;
- u64 plot_prev_qc, plot_prev_uc, plot_prev_uh;
+ u64 plot_prev_qc, plot_prev_uc, plot_prev_uh, plot_prev_ed;
u64 stats_last_stats_ms, stats_last_plot_ms, stats_last_ms, stats_last_execs;
double stats_avg_exec;
diff --git a/src/afl-fuzz-stats.c b/src/afl-fuzz-stats.c
index aeb290b..0ce35cb 100644
--- a/src/afl-fuzz-stats.c
+++ b/src/afl-fuzz-stats.c
@@ -206,7 +206,8 @@
afl->plot_prev_qc == afl->queue_cycle &&
afl->plot_prev_uc == afl->unique_crashes &&
afl->plot_prev_uh == afl->unique_hangs &&
- afl->plot_prev_md == afl->max_depth) ||
+ afl->plot_prev_md == afl->max_depth &&
+ afl->plot_prev_ed == afl->fsrv.total_execs) ||
unlikely(!afl->queue_cycle) ||
unlikely(get_cur_time() - afl->start_time <= 60)) {
@@ -222,6 +223,7 @@
afl->plot_prev_uc = afl->unique_crashes;
afl->plot_prev_uh = afl->unique_hangs;
afl->plot_prev_md = afl->max_depth;
+ afl->plot_prev_ed = afl->fsrv.total_execs;
/* Fields in the file:
@@ -229,12 +231,13 @@
favored_not_fuzzed, afl->unique_crashes, afl->unique_hangs, afl->max_depth,
execs_per_sec */
- fprintf(afl->fsrv.plot_file,
- "%llu, %llu, %u, %u, %u, %u, %0.02f%%, %llu, %llu, %u, %0.02f\n",
- get_cur_time() / 1000, afl->queue_cycle - 1, afl->current_entry,
- afl->queued_paths, afl->pending_not_fuzzed, afl->pending_favored,
- bitmap_cvg, afl->unique_crashes, afl->unique_hangs, afl->max_depth,
- eps); /* ignore errors */
+ fprintf(
+ afl->fsrv.plot_file,
+ "%llu, %llu, %u, %u, %u, %u, %0.02f%%, %llu, %llu, %u, %0.02f, %llu\n",
+ get_cur_time() / 1000, afl->queue_cycle - 1, afl->current_entry,
+ afl->queued_paths, afl->pending_not_fuzzed, afl->pending_favored,
+ bitmap_cvg, afl->unique_crashes, afl->unique_hangs, afl->max_depth, eps,
+ afl->plot_prev_ed); /* ignore errors */
fflush(afl->fsrv.plot_file);