#![cfg(unix)] #![allow(unused_variables)] use custom_mutator::{export_mutator, CustomMutator}; struct ExampleMutator; impl CustomMutator for ExampleMutator { type Error = (); fn init(seed: u32) -> Result { Ok(Self) } fn fuzz<'b, 's: 'b>( &'s mut self, buffer: &'b mut [u8], add_buff: Option<&[u8]>, max_size: usize, ) -> Result, Self::Error> { buffer.reverse(); Ok(Some(buffer)) } } struct OwnBufferExampleMutator { own_buffer: Vec, } impl CustomMutator for OwnBufferExampleMutator { type Error = (); fn init(seed: u32) -> Result { Ok(Self { own_buffer: Vec::new(), }) } fn fuzz<'b, 's: 'b>( &'s mut self, buffer: &'b mut [u8], add_buff: Option<&[u8]>, max_size: usize, ) -> Result, ()> { self.own_buffer.reverse(); Ok(Some(self.own_buffer.as_slice())) } } export_mutator!(ExampleMutator);