diff --git a/custom_mutators/rust/example/src/example_mutator.rs b/custom_mutators/rust/example/src/example_mutator.rs index c4711dd1..311fd900 100644 --- a/custom_mutators/rust/example/src/example_mutator.rs +++ b/custom_mutators/rust/example/src/example_mutator.rs @@ -21,6 +21,44 @@ impl CustomMutator for ExampleMutator { buffer.reverse(); Ok(Some(buffer)) } + + fn handle_error(err: Self::Error) { + if std::env::var("AFL_CUSTOM_MUTATOR_DEBUG") + .map(|v| !v.is_empty()) + .unwrap_or(false) + { + eprintln!("Error in custom mutator: {:?}", err) + } + } + + fn fuzz_count(&mut self, buffer: &[u8]) -> Result { + Ok(1) + } + + fn queue_new_entry( + &mut self, + filename_new_queue: &std::ffi::OsStr, + filename_orig_queue: Option<&std::ffi::OsStr>, + ) -> Result<(), Self::Error> { + eprintln!( + "filename_new_queue {:#?}, filename_orig_queue {:#?}", + filename_new_queue, filename_orig_queue + ); + Ok(()) + } + + fn queue_get(&mut self, filename: &std::ffi::OsStr) -> Result { + eprintln!("filename {:#?}", filename); + Ok(true) + } + + fn describe(&mut self, max_description: usize) -> Result, Self::Error> { + Ok(Some("MyMutator")) + } + + fn introspection(&mut self) -> Result, Self::Error> { + Ok(None) + } } struct OwnBufferExampleMutator { diff --git a/custom_mutators/rust/example_lain/src/lain_mutator.rs b/custom_mutators/rust/example_lain/src/lain_mutator.rs index 00af92a0..7099aeae 100644 --- a/custom_mutators/rust/example_lain/src/lain_mutator.rs +++ b/custom_mutators/rust/example_lain/src/lain_mutator.rs @@ -1,4 +1,4 @@ -#![cfg(os_family="unix")] +#![cfg(unix)] use custom_mutator::{export_mutator, CustomMutator}; use lain::{