mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-10 01:01:33 +00:00
set prev_run_time inside afl state
This commit is contained in:
parent
1a8c242d28
commit
f54c4dbfdb
@ -569,6 +569,7 @@ typedef struct afl_state {
|
|||||||
blocks_eff_total, /* Blocks subject to effector maps */
|
blocks_eff_total, /* Blocks subject to effector maps */
|
||||||
blocks_eff_select, /* Blocks selected as fuzzable */
|
blocks_eff_select, /* Blocks selected as fuzzable */
|
||||||
start_time, /* Unix start time (ms) */
|
start_time, /* Unix start time (ms) */
|
||||||
|
prev_run_time, /* Runtime read from prev stats file*/
|
||||||
last_path_time, /* Time for most recent path (ms) */
|
last_path_time, /* Time for most recent path (ms) */
|
||||||
last_crash_time, /* Time for most recent crash (ms) */
|
last_crash_time, /* Time for most recent crash (ms) */
|
||||||
last_hang_time; /* Time for most recent hang (ms) */
|
last_hang_time; /* Time for most recent hang (ms) */
|
||||||
@ -1067,7 +1068,7 @@ void destroy_extras(afl_state_t *);
|
|||||||
|
|
||||||
/* Stats */
|
/* Stats */
|
||||||
|
|
||||||
u32 load_stats_file(afl_state_t *);
|
void load_stats_file(afl_state_t *);
|
||||||
void write_setup_file(afl_state_t *, u32, char **);
|
void write_setup_file(afl_state_t *, u32, char **);
|
||||||
void write_stats_file(afl_state_t *, double, double, double);
|
void write_stats_file(afl_state_t *, double, double, double);
|
||||||
void maybe_update_plot_file(afl_state_t *, double, double);
|
void maybe_update_plot_file(afl_state_t *, double, double);
|
||||||
|
@ -90,20 +90,20 @@ void write_setup_file(afl_state_t *afl, u32 argc, char **argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* load some of the existing stats file when resuming.*/
|
/* load some of the existing stats file when resuming.*/
|
||||||
u32 load_stats_file(afl_state_t *afl) {
|
void load_stats_file(afl_state_t *afl) {
|
||||||
|
|
||||||
FILE *f;
|
FILE *f;
|
||||||
u8 buf[MAX_LINE];
|
u8 buf[MAX_LINE];
|
||||||
u8 * lptr;
|
u8 * lptr;
|
||||||
u8 fn[PATH_MAX];
|
u8 fn[PATH_MAX];
|
||||||
u32 lineno = 0;
|
u32 lineno = 0;
|
||||||
u32 prev_run_time = 0;
|
afl->prev_run_time = 0;
|
||||||
snprintf(fn, PATH_MAX, "%s/fuzzer_stats", afl->out_dir);
|
snprintf(fn, PATH_MAX, "%s/fuzzer_stats", afl->out_dir);
|
||||||
f = fopen(fn, "r");
|
f = fopen(fn, "r");
|
||||||
if (!f) {
|
if (!f) {
|
||||||
|
|
||||||
WARNF("Unable to load stats file '%s'", fn);
|
WARNF("Unable to load stats file '%s'", fn);
|
||||||
return prev_run_time;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -137,8 +137,8 @@ u32 load_stats_file(afl_state_t *afl) {
|
|||||||
case 3:
|
case 3:
|
||||||
if (!strcmp(keystring, "run_time ")) {
|
if (!strcmp(keystring, "run_time ")) {
|
||||||
|
|
||||||
prev_run_time = 1000 * strtoull(lptr, &nptr, 10);
|
afl->prev_run_time = 1000 * strtoull(lptr, &nptr, 10);
|
||||||
afl->start_time -= prev_run_time;
|
afl->start_time -= afl->prev_run_time;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -185,7 +185,7 @@ u32 load_stats_file(afl_state_t *afl) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return prev_run_time;
|
return;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1682,11 +1682,9 @@ int main(int argc, char **argv_orig, char **envp) {
|
|||||||
|
|
||||||
if (unlikely(afl->old_seed_selection)) seek_to = find_start_position(afl);
|
if (unlikely(afl->old_seed_selection)) seek_to = find_start_position(afl);
|
||||||
|
|
||||||
u32 prev_run_time = 0; // to not call load_stats_file again after line 1705
|
|
||||||
afl->start_time = get_cur_time(); // without this, time taken for
|
afl->start_time = get_cur_time(); // without this, time taken for
|
||||||
// perform_dry_run gets added to run time.
|
// perform_dry_run gets added to run time.
|
||||||
if (afl->in_place_resume || afl->afl_env.afl_autoresume)
|
if (afl->in_place_resume || afl->afl_env.afl_autoresume) load_stats_file(afl);
|
||||||
prev_run_time = load_stats_file(afl);
|
|
||||||
write_stats_file(afl, 0, 0, 0);
|
write_stats_file(afl, 0, 0, 0);
|
||||||
maybe_update_plot_file(afl, 0, 0);
|
maybe_update_plot_file(afl, 0, 0);
|
||||||
save_auto(afl);
|
save_auto(afl);
|
||||||
@ -1706,7 +1704,7 @@ int main(int argc, char **argv_orig, char **envp) {
|
|||||||
// real start time, we reset, so this works correctly with -V
|
// real start time, we reset, so this works correctly with -V
|
||||||
afl->start_time = get_cur_time();
|
afl->start_time = get_cur_time();
|
||||||
if (afl->in_place_resume || afl->afl_env.afl_autoresume)
|
if (afl->in_place_resume || afl->afl_env.afl_autoresume)
|
||||||
afl->start_time -= prev_run_time;
|
afl->start_time -= afl->prev_run_time;
|
||||||
|
|
||||||
u32 runs_in_current_cycle = (u32)-1;
|
u32 runs_in_current_cycle = (u32)-1;
|
||||||
u32 prev_queued_paths = 0;
|
u32 prev_queued_paths = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user