aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2021-06-22 17:24:06 +0200
committervanhauser-thc <vh@thc.org>2021-06-22 17:24:06 +0200
commitcbac22d82b90d631bafc4572aa79faa0c568beeb (patch)
tree6d943e4ea1ebe3f08d00524c8b11919df1ac3332 /src
parentba9323f14cb4ba7c99c4081f19c12b93e112dd65 (diff)
downloadafl++-cbac22d82b90d631bafc4572aa79faa0c568beeb.tar.gz
reverse read the queue n resumes
Diffstat (limited to 'src')
-rw-r--r--src/afl-fuzz-init.c7
-rw-r--r--src/afl-fuzz-run.c3
-rw-r--r--src/afl-fuzz.c7
3 files changed, 13 insertions, 4 deletions
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c
index 872e3a32..cc5974d8 100644
--- a/src/afl-fuzz-init.c
+++ b/src/afl-fuzz-init.c
@@ -710,7 +710,10 @@ void read_testcases(afl_state_t *afl, u8 *directory) {
}
- for (i = 0; i < (u32)nl_cnt; ++i) {
+ i = nl_cnt;
+ do {
+
+ --i;
struct stat st;
@@ -801,7 +804,7 @@ void read_testcases(afl_state_t *afl, u8 *directory) {
*/
- }
+ } while (i > 0);
free(nl); /* not tracked */
diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c
index 3de67955..49856a9f 100644
--- a/src/afl-fuzz-run.c
+++ b/src/afl-fuzz-run.c
@@ -424,7 +424,8 @@ u8 calibrate_case(afl_state_t *afl, struct queue_entry *q, u8 *use_mem,
}
var_detected = 1;
- afl->stage_max = afl->afl_env.afl_cal_fast ? CAL_CYCLES : CAL_CYCLES_LONG;
+ afl->stage_max =
+ afl->afl_env.afl_cal_fast ? CAL_CYCLES : CAL_CYCLES_LONG;
} else {
diff --git a/src/afl-fuzz.c b/src/afl-fuzz.c
index c148086c..5f25f728 100644
--- a/src/afl-fuzz.c
+++ b/src/afl-fuzz.c
@@ -1911,7 +1911,12 @@ int main(int argc, char **argv_orig, char **envp) {
if (unlikely(afl->old_seed_selection)) seek_to = find_start_position(afl);
afl->start_time = get_cur_time();
- if (afl->in_place_resume || afl->afl_env.afl_autoresume) load_stats_file(afl);
+ if (afl->in_place_resume || afl->afl_env.afl_autoresume) {
+
+ load_stats_file(afl);
+
+ }
+
write_stats_file(afl, 0, 0, 0, 0);
maybe_update_plot_file(afl, 0, 0, 0);
save_auto(afl);