mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-14 02:58:08 +00:00
load run time and donot load pending_* or *_favoured
This commit is contained in:
@ -1067,7 +1067,7 @@ void destroy_extras(afl_state_t *);
|
||||
|
||||
/* Stats */
|
||||
|
||||
void load_stats_file(afl_state_t *);
|
||||
u32 load_stats_file(afl_state_t *);
|
||||
void write_setup_file(afl_state_t *, u32, char **);
|
||||
void write_stats_file(afl_state_t *, double, 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.*/
|
||||
void load_stats_file(afl_state_t *afl) {
|
||||
u32 load_stats_file(afl_state_t *afl) {
|
||||
|
||||
FILE *f;
|
||||
u8 buf[MAX_LINE];
|
||||
u8 * lptr;
|
||||
u8 fn[PATH_MAX];
|
||||
u32 lineno = 0;
|
||||
|
||||
u32 prev_run_time = 0;
|
||||
snprintf(fn, PATH_MAX, "%s/fuzzer_stats", afl->out_dir);
|
||||
f = fopen(fn, "r");
|
||||
if (!f) {
|
||||
|
||||
WARNF("Unable to load stats file '%s'", fn);
|
||||
return;
|
||||
return prev_run_time;
|
||||
|
||||
}
|
||||
|
||||
@ -134,6 +134,15 @@ void load_stats_file(afl_state_t *afl) {
|
||||
char *nptr;
|
||||
switch (lineno) {
|
||||
|
||||
case 3:
|
||||
if (!strcmp(keystring, "run_time ")) {
|
||||
|
||||
prev_run_time = 1000 * strtoull(lptr, &nptr, 10);
|
||||
afl->start_time -= prev_run_time;
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
case 5:
|
||||
if (!strcmp(keystring, "cycles_done "))
|
||||
afl->queue_cycle =
|
||||
@ -147,10 +156,6 @@ void load_stats_file(afl_state_t *afl) {
|
||||
if (!strcmp(keystring, "paths_total "))
|
||||
afl->queued_paths = strtoul(lptr, &nptr, 10);
|
||||
break;
|
||||
case 11:
|
||||
if (!strcmp(keystring, "paths_favored "))
|
||||
afl->queued_favored = strtoul(lptr, &nptr, 10);
|
||||
break;
|
||||
case 12:
|
||||
if (!strcmp(keystring, "paths_found "))
|
||||
afl->queued_discovered = strtoul(lptr, &nptr, 10);
|
||||
@ -163,14 +168,6 @@ void load_stats_file(afl_state_t *afl) {
|
||||
if (!strcmp(keystring, "max_depth "))
|
||||
afl->max_depth = strtoul(lptr, &nptr, 10);
|
||||
break;
|
||||
case 16:
|
||||
if (!strcmp(keystring, "pending_favs "))
|
||||
afl->pending_favored = strtoul(lptr, &nptr, 10);
|
||||
break;
|
||||
case 17:
|
||||
if (!strcmp(keystring, "pending_total "))
|
||||
afl->pending_not_fuzzed = strtoul(lptr, &nptr, 10);
|
||||
break;
|
||||
case 21:
|
||||
if (!strcmp(keystring, "unique_crashes "))
|
||||
afl->unique_crashes = strtoull(lptr, &nptr, 10);
|
||||
@ -188,6 +185,8 @@ void load_stats_file(afl_state_t *afl) {
|
||||
|
||||
}
|
||||
|
||||
return prev_run_time;
|
||||
|
||||
}
|
||||
|
||||
/* Update stats file for unattended monitoring. */
|
||||
|
@ -1682,7 +1682,11 @@ int main(int argc, char **argv_orig, char **envp) {
|
||||
|
||||
if (unlikely(afl->old_seed_selection)) seek_to = find_start_position(afl);
|
||||
|
||||
if (afl->in_place_resume || afl->afl_env.afl_autoresume) load_stats_file(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
|
||||
// perform_dry_run gets added to run time.
|
||||
if (afl->in_place_resume || afl->afl_env.afl_autoresume)
|
||||
prev_run_time = load_stats_file(afl);
|
||||
write_stats_file(afl, 0, 0, 0);
|
||||
maybe_update_plot_file(afl, 0, 0);
|
||||
save_auto(afl);
|
||||
@ -1701,6 +1705,8 @@ int main(int argc, char **argv_orig, char **envp) {
|
||||
// (void)nice(-20); // does not improve the speed
|
||||
// real start time, we reset, so this works correctly with -V
|
||||
afl->start_time = get_cur_time();
|
||||
if (afl->in_place_resume || afl->afl_env.afl_autoresume)
|
||||
afl->start_time -= prev_run_time;
|
||||
|
||||
u32 runs_in_current_cycle = (u32)-1;
|
||||
u32 prev_queued_paths = 0;
|
||||
|
Reference in New Issue
Block a user