diff --git a/libafl/src/fuzzer/mod.rs b/libafl/src/fuzzer/mod.rs index 55830c2961..18da20dacc 100644 --- a/libafl/src/fuzzer/mod.rs +++ b/libafl/src/fuzzer/mod.rs @@ -1150,13 +1150,17 @@ where /// A [`NopFuzzer`] that does nothing #[derive(Clone, Debug)] -pub struct NopFuzzer {} +pub struct NopFuzzer { + converter: NopBytesConverter, +} impl NopFuzzer { /// Creates a new [`NopFuzzer`] #[must_use] pub fn new() -> Self { - Self {} + Self { + converter: NopBytesConverter::default(), + } } } @@ -1166,6 +1170,17 @@ impl Default for NopFuzzer { } } +impl HasBytesConverter for NopFuzzer { + type Converter = NopBytesConverter; + fn converter(&self) -> &Self::Converter { + &self.converter + } + + fn converter_mut(&mut self) -> &mut Self::Converter { + &mut self.converter + } +} + impl Fuzzer for NopFuzzer where EM: ProgressReporter, diff --git a/libafl/src/inputs/mod.rs b/libafl/src/inputs/mod.rs index 082d23d095..ae9953e3e5 100644 --- a/libafl/src/inputs/mod.rs +++ b/libafl/src/inputs/mod.rs @@ -298,7 +298,7 @@ impl ResizableMutator for &mut Vec { } } -#[derive(Debug, Default)] +#[derive(Debug, Clone, Copy, Default)] /// Basic `NopBytesConverter` with just one type that is not converting pub struct NopBytesConverter {}