mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-14 02:58:08 +00:00
fix lain mutator
This commit is contained in:
@ -21,6 +21,44 @@ impl CustomMutator for ExampleMutator {
|
|||||||
buffer.reverse();
|
buffer.reverse();
|
||||||
Ok(Some(buffer))
|
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<u32, Self::Error> {
|
||||||
|
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<bool, Self::Error> {
|
||||||
|
eprintln!("filename {:#?}", filename);
|
||||||
|
Ok(true)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn describe(&mut self, max_description: usize) -> Result<Option<&str>, Self::Error> {
|
||||||
|
Ok(Some("MyMutator"))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn introspection(&mut self) -> Result<Option<&str>, Self::Error> {
|
||||||
|
Ok(None)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
struct OwnBufferExampleMutator {
|
struct OwnBufferExampleMutator {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#![cfg(os_family="unix")]
|
#![cfg(unix)]
|
||||||
|
|
||||||
use custom_mutator::{export_mutator, CustomMutator};
|
use custom_mutator::{export_mutator, CustomMutator};
|
||||||
use lain::{
|
use lain::{
|
||||||
|
Reference in New Issue
Block a user