about summary refs log tree commit diff
path: root/include/forkserver.h
diff options
context:
space:
mode:
authorChristian Holler (:decoder) <choller@mozilla.com>2024-06-19 12:36:58 +0200
committerChristian Holler (:decoder) <choller@mozilla.com>2024-06-19 12:36:58 +0200
commit8fcca6fb410a6ece1a4cd2eb8a2cdeed4d4d9865 (patch)
tree1bda28182c1dbf1f9570da2926f6f62be117f154 /include/forkserver.h
parentb8568034f0c120ab8500c03ed4982d641eaa88fb (diff)
downloadafl++-8fcca6fb410a6ece1a4cd2eb8a2cdeed4d4d9865.tar.gz
Collect persistent coverage data and dump it at the end of the run
With CODE_COVERAGE builds, we need to collect the coverage data of each
iteration in a persistant buffer that has the same size as the regular
trace buffer used for fuzzing. We dump this information at the end of
the run and when combined with pointer data and module info, this can be
used to calculate code coverage.
Diffstat (limited to 'include/forkserver.h')
-rw-r--r--include/forkserver.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/forkserver.h b/include/forkserver.h
index 593e34a2..3fd813a4 100644
--- a/include/forkserver.h
+++ b/include/forkserver.h
@@ -206,6 +206,10 @@ typedef struct afl_forkserver {
   s32                   nyx_log_fd;
 #endif
 
+#ifdef __AFL_CODE_COVERAGE
+  u8 *persistent_trace_bits;                   /* Persistent copy of bitmap */
+#endif
+
 } afl_forkserver_t;
 
 typedef enum fsrv_run_result {