pub struct FuzzBitmapControlFlowHandler<M: AsRef<[u8]> + AsMut<[u8]>> { /* private fields */ }Available on crate feature
fuzz_bitmap only.Expand description
HandleControlFlow implementor for maintaining fuzzing bitmap
Implementations§
Source§impl<M: AsRef<[u8]> + AsMut<[u8]>> FuzzBitmapControlFlowHandler<M>
impl<M: AsRef<[u8]> + AsMut<[u8]>> FuzzBitmapControlFlowHandler<M>
Sourcepub fn new(fuzzing_bitmap: M, filter_range: Option<&[(u64, u64)]>) -> Self
pub fn new(fuzzing_bitmap: M, filter_range: Option<&[(u64, u64)]>) -> Self
Create a new fuzz bitmap control flow handler.
You can pass things like &mut [u8], Vec<u8>, Box<[u8]>, or even a mmapped structure
as fuzzing_bitmap. If you want to give range restrictions, pass filter_range,
or you could just pass a None here to indicate that there is no
range restrictions.
Sourcepub fn diagnose(&self) -> FuzzBitmapDiagnosticInformation
pub fn diagnose(&self) -> FuzzBitmapDiagnosticInformation
Get diagnose information
Trait Implementations§
Source§impl<M: AsRef<[u8]> + AsMut<[u8]>> HandleControlFlow for FuzzBitmapControlFlowHandler<M>
impl<M: AsRef<[u8]> + AsMut<[u8]>> HandleControlFlow for FuzzBitmapControlFlowHandler<M>
Source§type Error = Infallible
type Error = Infallible
Error of control flow handler
Source§type CachedKey = PerCacheBitmapEntries
type CachedKey = PerCacheBitmapEntries
Available on crate feature
cache only.Cached key returned by
take_cache. Read moreSource§fn at_decode_begin(&mut self) -> Result<(), Self::Error>
fn at_decode_begin(&mut self) -> Result<(), Self::Error>
Callback at begin of decoding. Read more
Source§fn on_new_block(
&mut self,
block_addr: u64,
transition_kind: ControlFlowTransitionKind,
cache: bool,
) -> Result<(), Self::Error>
fn on_new_block( &mut self, block_addr: u64, transition_kind: ControlFlowTransitionKind, cache: bool, ) -> Result<(), Self::Error>
Callback when a new basic block is met. Read more
Source§fn cache_prev_cached_key(
&mut self,
cached_key: Self::CachedKey,
) -> Result<(), Self::Error>
fn cache_prev_cached_key( &mut self, cached_key: Self::CachedKey, ) -> Result<(), Self::Error>
Available on crate feature
cache only.Merge a previous cached key into cache Read more
Source§fn clear_current_cache(&mut self) -> Result<(), Self::Error>
fn clear_current_cache(&mut self) -> Result<(), Self::Error>
Available on crate feature
cache only.Clear the cache. Read more
Auto Trait Implementations§
impl<M> Freeze for FuzzBitmapControlFlowHandler<M>where
M: Freeze,
impl<M> RefUnwindSafe for FuzzBitmapControlFlowHandler<M>where
M: RefUnwindSafe,
impl<M> Send for FuzzBitmapControlFlowHandler<M>where
M: Send,
impl<M> Sync for FuzzBitmapControlFlowHandler<M>where
M: Sync,
impl<M> Unpin for FuzzBitmapControlFlowHandler<M>where
M: Unpin,
impl<M> UnwindSafe for FuzzBitmapControlFlowHandler<M>where
M: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more