Type Alias libafl::executors::inprocess::InProcessExecutor

source ·
pub type InProcessExecutor<'a, H, OT, S> = GenericInProcessExecutor<H, &'a mut H, (), OT, S>;
Expand description

The process executor simply calls a target function, as mutable reference to a closure.

Aliased Type§

struct InProcessExecutor<'a, H, OT, S> { /* private fields */ }

Implementations§

source§

impl<'a, H, OT, S> InProcessExecutor<'a, H, OT, S>

source

pub fn new<EM, OF, Z>( harness_fn: &'a mut H, observers: OT, fuzzer: &mut Z, state: &mut S, event_mgr: &mut EM ) -> Result<Self, Error>
where Self: Executor<EM, Z, State = S> + HasObservers, EM: EventFirer<State = S> + EventRestarter, OF: Feedback<S>, S: State, Z: HasObjective<Objective = OF, State = S>,

Create a new in mem executor with the default timeout (5 sec)

source

pub fn batched_timeout<EM, OF, Z>( harness_fn: &'a mut H, observers: OT, fuzzer: &mut Z, state: &mut S, event_mgr: &mut EM, exec_tmout: Duration ) -> Result<Self, Error>
where Self: Executor<EM, Z, State = S>, EM: EventFirer<State = S> + EventRestarter, OF: Feedback<S>, S: State, Z: HasObjective<Objective = OF, State = S>,

Create a new in mem executor with the default timeout and use batch mode(5 sec)

source

pub fn with_timeout<EM, OF, Z>( harness_fn: &'a mut H, observers: OT, fuzzer: &mut Z, state: &mut S, event_mgr: &mut EM, timeout: Duration ) -> Result<Self, Error>
where Self: Executor<EM, Z, State = S> + HasObservers, EM: EventFirer<State = S> + EventRestarter, OF: Feedback<S>, S: State, Z: HasObjective<Objective = OF, State = S>,

Create a new in mem executor. Caution: crash and restart in one of them will lead to odd behavior if multiple are used, depending on different corpus or state.

  • user_hooks - the hooks run before and after the harness’s execution
  • harness_fn - the harness, executing the function
  • observers - the observers observing the target during execution This may return an error on unix, if signal handler setup fails