diff --git a/libafl/src/fuzzer/mod.rs b/libafl/src/fuzzer/mod.rs index 6ea268dbb6..d8b34db513 100644 --- a/libafl/src/fuzzer/mod.rs +++ b/libafl/src/fuzzer/mod.rs @@ -507,6 +507,27 @@ where let observers = executor.observers(); // Always consider this to be "interesting" + // However, we still want to trigger the side effects of objectives and feedbacks. + #[cfg(not(feature = "introspection"))] + let _is_solution = self + .objective_mut() + .is_interesting(state, manager, &input, observers, &exit_kind)?; + + #[cfg(feature = "introspection")] + let _is_solution = self + .objective_mut() + .is_interesting_introspection(state, manager, &input, observers, &exit_kind)?; + + #[cfg(not(feature = "introspection"))] + let _is_corpus = self + .feedback_mut() + .is_interesting(state, manager, &input, observers, &exit_kind)?; + + #[cfg(feature = "introspection")] + let _is_corpus = self + .feedback_mut() + .is_interesting_introspection(state, manager, &input, observers, &exit_kind)?; + // Not a solution self.objective_mut().discard_metadata(state, &input)?;