This commit is contained in:
Dominik Maier 2021-05-20 05:23:22 +02:00 committed by Omree
parent 933b65dd86
commit b28306519f

View File

@ -1,4 +1,4 @@
use core::marker::PhantomData; use core::{marker::PhantomData, mem::drop};
use crate::{ use crate::{
bolts::rands::Rand, bolts::rands::Rand,
@ -141,7 +141,42 @@ where
manager: &mut EM, manager: &mut EM,
corpus_idx: usize, corpus_idx: usize,
) -> Result<(), Error> { ) -> Result<(), Error> {
self.perform_mutational(fuzzer, executor, state, manager, corpus_idx) start_timer!(state);
let input = state
.corpus()
.get(corpus_idx)?
.borrow_mut()
.load_input()?
.clone();
mark_feature_time!(state, PerfFeature::GetInputFromCorpus);
start_timer!(state);
self.tracer_executor
.pre_exec_observers(fuzzer, state, manager, &input)?;
mark_feature_time!(state, PerfFeature::PreExecObservers);
start_timer!(state);
self.tracer_executor
.pre_exec(fuzzer, state, manager, &input)?;
mark_feature_time!(state, PerfFeature::PreExec);
start_timer!(state);
drop(self.tracer_executor.run_target(&input)?);
mark_feature_time!(state, PerfFeature::TargetExecution);
start_timer!(state);
self.tracer_executor
.post_exec(fuzzer, state, manager, &input)?;
mark_feature_time!(state, PerfFeature::PostExec);
*state.executions_mut() += 1;
start_timer!(state);
self.tracer_executor
.post_exec_observers(fuzzer, state, manager, &input)?;
mark_feature_time!(state, PerfFeature::PostExecObservers);
Ok(())
} }
} }