about summary refs log tree commit diff
path: root/src/afl-fuzz-one.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/afl-fuzz-one.c')
-rw-r--r--src/afl-fuzz-one.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/afl-fuzz-one.c b/src/afl-fuzz-one.c
index ed9e7a81..253e78b6 100644
--- a/src/afl-fuzz-one.c
+++ b/src/afl-fuzz-one.c
@@ -743,6 +743,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
 
   afl->stage_finds[STAGE_FLIP1] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP1] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Two walking bits. */
 
@@ -775,6 +776,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
 
   afl->stage_finds[STAGE_FLIP2] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP2] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Four walking bits. */
 
@@ -811,6 +813,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
 
   afl->stage_finds[STAGE_FLIP4] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP4] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Effector map setup. These macros calculate:
 
@@ -919,6 +922,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
 
   afl->stage_finds[STAGE_FLIP8] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP8] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Two walking bytes. */
 
@@ -962,6 +966,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
 
   afl->stage_finds[STAGE_FLIP16] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP16] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   if (len < 4) { goto skip_bitflip; }
 
@@ -1005,6 +1010,7 @@ u8 fuzz_one_original(afl_state_t *afl) {
 
   afl->stage_finds[STAGE_FLIP32] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP32] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
 skip_bitflip:
 
@@ -1097,6 +1103,7 @@ skip_bitflip:
 
   afl->stage_finds[STAGE_ARITH8] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_ARITH8] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* 16-bit arithmetics, both endians. */
 
@@ -1227,6 +1234,7 @@ skip_bitflip:
 
   afl->stage_finds[STAGE_ARITH16] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_ARITH16] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* 32-bit arithmetics, both endians. */
 
@@ -1356,6 +1364,7 @@ skip_bitflip:
 
   afl->stage_finds[STAGE_ARITH32] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_ARITH32] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
 skip_arith:
 
@@ -1422,6 +1431,7 @@ skip_arith:
 
   afl->stage_finds[STAGE_INTEREST8] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_INTEREST8] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Setting 16-bit integers, both endians. */
 
@@ -1510,6 +1520,7 @@ skip_arith:
 
   afl->stage_finds[STAGE_INTEREST16] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_INTEREST16] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   if (len < 4) { goto skip_interest; }
 
@@ -1599,6 +1610,7 @@ skip_arith:
 
   afl->stage_finds[STAGE_INTEREST32] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_INTEREST32] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
 skip_interest:
 
@@ -1672,6 +1684,7 @@ skip_interest:
 
   afl->stage_finds[STAGE_EXTRAS_UO] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_EXTRAS_UO] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Insertion of user-supplied extras. */
 
@@ -1728,6 +1741,7 @@ skip_interest:
 
   afl->stage_finds[STAGE_EXTRAS_UI] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_EXTRAS_UI] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
 skip_user_extras:
 
@@ -1786,6 +1800,7 @@ skip_user_extras:
 
   afl->stage_finds[STAGE_EXTRAS_AO] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_EXTRAS_AO] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Insertion of auto extras. */
 
@@ -1842,6 +1857,7 @@ skip_user_extras:
 
   afl->stage_finds[STAGE_EXTRAS_AI] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_EXTRAS_AI] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
 skip_extras:
 
@@ -1988,6 +2004,7 @@ custom_mutator_stage:
 
   afl->stage_finds[STAGE_CUSTOM_MUTATOR] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_CUSTOM_MUTATOR] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   if (likely(afl->custom_only)) {
 
@@ -2925,11 +2942,13 @@ havoc_stage:
 
     afl->stage_finds[STAGE_HAVOC] += new_hit_cnt - orig_hit_cnt;
     afl->stage_cycles[STAGE_HAVOC] += afl->stage_max;
+    afl->queue_cur->stats_mutated += afl->stage_max;
 
   } else {
 
     afl->stage_finds[STAGE_SPLICE] += new_hit_cnt - orig_hit_cnt;
     afl->stage_cycles[STAGE_SPLICE] += afl->stage_max;
+    afl->queue_cur->stats_mutated += afl->stage_max;
 
   }
 
@@ -3411,6 +3430,7 @@ static u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
 
   afl->stage_finds[STAGE_FLIP1] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP1] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Two walking bits. */
 
@@ -3442,6 +3462,7 @@ static u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
 
   afl->stage_finds[STAGE_FLIP2] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP2] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Four walking bits. */
 
@@ -3477,6 +3498,7 @@ static u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
 
   afl->stage_finds[STAGE_FLIP4] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP4] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Effector map setup. These macros calculate:
 
@@ -3584,6 +3606,7 @@ static u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
 
   afl->stage_finds[STAGE_FLIP8] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP8] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Two walking bytes. */
 
@@ -3626,6 +3649,7 @@ static u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
 
   afl->stage_finds[STAGE_FLIP16] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP16] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   if (len < 4) { goto skip_bitflip; }
 
@@ -3668,6 +3692,7 @@ static u8 mopt_common_fuzzing(afl_state_t *afl, MOpt_globals_t MOpt_globals) {
 
   afl->stage_finds[STAGE_FLIP32] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_FLIP32] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
 skip_bitflip:
 
@@ -3758,6 +3783,7 @@ skip_bitflip:
 
   afl->stage_finds[STAGE_ARITH8] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_ARITH8] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* 16-bit arithmetics, both endians. */
 
@@ -3884,6 +3910,7 @@ skip_bitflip:
 
   afl->stage_finds[STAGE_ARITH16] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_ARITH16] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* 32-bit arithmetics, both endians. */
 
@@ -4009,6 +4036,7 @@ skip_bitflip:
 
   afl->stage_finds[STAGE_ARITH32] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_ARITH32] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
 skip_arith:
 
@@ -4074,6 +4102,7 @@ skip_arith:
 
   afl->stage_finds[STAGE_INTEREST8] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_INTEREST8] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Setting 16-bit integers, both endians. */
 
@@ -4160,6 +4189,7 @@ skip_arith:
 
   afl->stage_finds[STAGE_INTEREST16] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_INTEREST16] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   if (len < 4) { goto skip_interest; }
 
@@ -4247,6 +4277,7 @@ skip_arith:
 
   afl->stage_finds[STAGE_INTEREST32] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_INTEREST32] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
 skip_interest:
 
@@ -4320,6 +4351,7 @@ skip_interest:
 
   afl->stage_finds[STAGE_EXTRAS_UO] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_EXTRAS_UO] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Insertion of user-supplied extras. */
 
@@ -4376,6 +4408,7 @@ skip_interest:
 
   afl->stage_finds[STAGE_EXTRAS_UI] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_EXTRAS_UI] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
 skip_user_extras:
 
@@ -4435,6 +4468,7 @@ skip_user_extras:
 
   afl->stage_finds[STAGE_EXTRAS_AO] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_EXTRAS_AO] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
   /* Insertion of auto extras. */
 
@@ -4491,6 +4525,7 @@ skip_user_extras:
 
   afl->stage_finds[STAGE_EXTRAS_AI] += new_hit_cnt - orig_hit_cnt;
   afl->stage_cycles[STAGE_EXTRAS_AI] += afl->stage_max;
+  afl->queue_cur->stats_mutated += afl->stage_max;
 
 skip_extras:
 
@@ -5316,11 +5351,13 @@ pacemaker_fuzzing:
 
           afl->stage_finds[STAGE_HAVOC] += new_hit_cnt - orig_hit_cnt;
           afl->stage_cycles[STAGE_HAVOC] += afl->stage_max;
+          afl->queue_cur->stats_mutated += afl->stage_max;
 
         } else {
 
           afl->stage_finds[STAGE_SPLICE] += new_hit_cnt - orig_hit_cnt;
           afl->stage_cycles[STAGE_SPLICE] += afl->stage_max;
+          afl->queue_cur->stats_mutated += afl->stage_max;
 
         }