Struct libafl::executors::inprocess::InProcessExecutor [−][src]
pub struct InProcessExecutor<'a, H, I, OT, S> where
H: FnMut(&[u8]) -> ExitKind,
I: Input + HasTargetBytes,
OT: ObserversTuple, { /* fields omitted */ }
Expand description
The inmem executor simply calls a target function, then returns afterwards.
Implementations
impl<'a, H, I, OT, S> InProcessExecutor<'a, H, I, OT, S> where
H: FnMut(&[u8]) -> ExitKind,
I: Input + HasTargetBytes,
OT: ObserversTuple,
[src]
impl<'a, H, I, OT, S> InProcessExecutor<'a, H, I, OT, S> where
H: FnMut(&[u8]) -> ExitKind,
I: Input + HasTargetBytes,
OT: ObserversTuple,
[src]pub fn new<EM, OC, OF, Z>(
harness_fn: &'a mut H,
observers: OT,
_fuzzer: &mut Z,
_state: &mut S,
_event_mgr: &mut EM
) -> Result<Self, Error> where
EM: EventFirer<I, S> + EventRestarter<S>,
OC: Corpus<I>,
OF: Feedback<I, S>,
S: HasSolutions<OC, I>,
Z: HasObjective<I, OF, S>,
[src]
pub fn new<EM, OC, OF, Z>(
harness_fn: &'a mut H,
observers: OT,
_fuzzer: &mut Z,
_state: &mut S,
_event_mgr: &mut EM
) -> Result<Self, Error> where
EM: EventFirer<I, S> + EventRestarter<S>,
OC: Corpus<I>,
OF: Feedback<I, S>,
S: HasSolutions<OC, I>,
Z: HasObjective<I, OF, S>,
[src]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.
harness_fn
- the harness, executiong the functionobservers
- the observers observing the target during execution This may return an error on unix, if signal handler setup fails
pub fn harness_mut(&mut self) -> &mut H
[src]
pub fn harness_mut(&mut self) -> &mut H
[src]Retrieve the harness function for a mutable reference.
Trait Implementations
impl<'a, H, I, OT, S> Executor<I> for InProcessExecutor<'a, H, I, OT, S> where
H: FnMut(&[u8]) -> ExitKind,
I: Input + HasTargetBytes,
OT: ObserversTuple,
[src]
impl<'a, H, I, OT, S> Executor<I> for InProcessExecutor<'a, H, I, OT, S> where
H: FnMut(&[u8]) -> ExitKind,
I: Input + HasTargetBytes,
OT: ObserversTuple,
[src]impl<'a, EM, H, I, OT, S, Z> HasExecHooks<EM, I, S, Z> for InProcessExecutor<'a, H, I, OT, S> where
H: FnMut(&[u8]) -> ExitKind,
I: Input + HasTargetBytes,
OT: ObserversTuple,
[src]
impl<'a, EM, H, I, OT, S, Z> HasExecHooks<EM, I, S, Z> for InProcessExecutor<'a, H, I, OT, S> where
H: FnMut(&[u8]) -> ExitKind,
I: Input + HasTargetBytes,
OT: ObserversTuple,
[src]impl<'a, H, I, OT, S> HasObservers<OT> for InProcessExecutor<'a, H, I, OT, S> where
H: FnMut(&[u8]) -> ExitKind,
I: Input + HasTargetBytes,
OT: ObserversTuple,
[src]
impl<'a, H, I, OT, S> HasObservers<OT> for InProcessExecutor<'a, H, I, OT, S> where
H: FnMut(&[u8]) -> ExitKind,
I: Input + HasTargetBytes,
OT: ObserversTuple,
[src]impl<'a, EM, H, I, OT, S, Z> HasObserversHooks<EM, I, OT, S, Z> for InProcessExecutor<'a, H, I, OT, S> where
H: FnMut(&[u8]) -> ExitKind,
I: Input + HasTargetBytes,
OT: ObserversTuple + HasExecHooksTuple<EM, I, S, Z>,
[src]
impl<'a, EM, H, I, OT, S, Z> HasObserversHooks<EM, I, OT, S, Z> for InProcessExecutor<'a, H, I, OT, S> where
H: FnMut(&[u8]) -> ExitKind,
I: Input + HasTargetBytes,
OT: ObserversTuple + HasExecHooksTuple<EM, I, S, Z>,
[src]Auto Trait Implementations
impl<'a, H, I, OT, S> RefUnwindSafe for InProcessExecutor<'a, H, I, OT, S> where
H: RefUnwindSafe,
I: RefUnwindSafe,
OT: RefUnwindSafe,
S: RefUnwindSafe,
H: RefUnwindSafe,
I: RefUnwindSafe,
OT: RefUnwindSafe,
S: RefUnwindSafe,
impl<'a, H, I, OT, S> Send for InProcessExecutor<'a, H, I, OT, S> where
H: Send,
I: Send,
OT: Send,
S: Send,
H: Send,
I: Send,
OT: Send,
S: Send,
impl<'a, H, I, OT, S> Sync for InProcessExecutor<'a, H, I, OT, S> where
H: Sync,
I: Sync,
OT: Sync,
S: Sync,
H: Sync,
I: Sync,
OT: Sync,
S: Sync,
impl<'a, H, I, OT, S> Unpin for InProcessExecutor<'a, H, I, OT, S> where
I: Unpin,
OT: Unpin,
S: Unpin,
I: Unpin,
OT: Unpin,
S: Unpin,
impl<'a, H, I, OT, S> !UnwindSafe for InProcessExecutor<'a, H, I, OT, S>
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<Tail, T> Prepend<T> for Tail
[src]
impl<Tail, T> Prepend<T> for Tail
[src]type PreprendResult = Tail
type PreprendResult = Tail
The Resulting TupleList
, of an Prepend::prepend()
call,
including the prepended entry. Read more
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self