From fbeec3ca6c1f9bb0b110c304ef6ccdc830fe978c Mon Sep 17 00:00:00 2001 From: Toka Date: Mon, 5 Jul 2021 20:51:18 +0900 Subject: [PATCH] Faster feedback (#206) * faster_feedback * typo * feedback_or * comma * crash dedup can use the fast one --- fuzzers/forkserver_simple/src/main.rs | 4 ++-- fuzzers/frida_libpng/src/fuzzer.rs | 4 ++-- fuzzers/fuzzbench/src/lib.rs | 4 ++-- fuzzers/libfuzzer_libpng/src/lib.rs | 4 ++-- fuzzers/libfuzzer_libpng_launcher/src/lib.rs | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/fuzzers/forkserver_simple/src/main.rs b/fuzzers/forkserver_simple/src/main.rs index f92d6a541c..79eb67e9dc 100644 --- a/fuzzers/forkserver_simple/src/main.rs +++ b/fuzzers/forkserver_simple/src/main.rs @@ -12,7 +12,7 @@ use libafl::{ }, events::SimpleEventManager, executors::forkserver::{ForkserverExecutor, TimeoutForkserverExecutor}, - feedback_and, feedback_or, + feedback_and, feedback_and_fast, feedback_or, feedbacks::{CrashFeedback, MapFeedbackState, MaxMapFeedback, TimeFeedback}, fuzzer::{Fuzzer, StdFuzzer}, inputs::BytesInput, @@ -61,7 +61,7 @@ pub fn main() { // A feedback to choose if an input is a solution or not // We want to do the same crash deduplication that AFL does - let objective = feedback_and!( + let objective = feedback_and_fast!( // Must be a crash CrashFeedback::new(), // Take it onlt if trigger new coverage over crashes diff --git a/fuzzers/frida_libpng/src/fuzzer.rs b/fuzzers/frida_libpng/src/fuzzer.rs index 2908a64495..e9b6e9ee85 100644 --- a/fuzzers/frida_libpng/src/fuzzer.rs +++ b/fuzzers/frida_libpng/src/fuzzer.rs @@ -23,7 +23,7 @@ use libafl::{ inprocess::InProcessExecutor, timeout::TimeoutExecutor, Executor, ExitKind, HasObservers, ShadowExecutor, }, - feedback_or, + feedback_or, feedback_or_fast, feedbacks::{CrashFeedback, MapFeedbackState, MaxMapFeedback, TimeFeedback, TimeoutFeedback}, fuzzer::{Fuzzer, StdFuzzer}, inputs::{BytesInput, HasTargetBytes, Input}, @@ -341,7 +341,7 @@ unsafe fn fuzz( ); // Feedbacks to recognize an input as solution - let objective = feedback_or!( + let objective = feedback_or_fast!( CrashFeedback::new(), TimeoutFeedback::new(), AsanErrorsFeedback::new() diff --git a/fuzzers/fuzzbench/src/lib.rs b/fuzzers/fuzzbench/src/lib.rs index 96f3ba19c8..adbe850330 100644 --- a/fuzzers/fuzzbench/src/lib.rs +++ b/fuzzers/fuzzbench/src/lib.rs @@ -25,7 +25,7 @@ use libafl::{ corpus::{Corpus, IndexesLenTimeMinimizerCorpusScheduler, OnDiskCorpus, QueueCorpusScheduler}, events::SimpleRestartingEventManager, executors::{inprocess::InProcessExecutor, ExitKind, TimeoutExecutor}, - feedback_or, + feedback_or, feedback_or_fast, feedbacks::{CrashFeedback, MapFeedbackState, MaxMapFeedback, TimeFeedback, TimeoutFeedback}, fuzzer::{Fuzzer, StdFuzzer}, inputs::{BytesInput, HasTargetBytes}, @@ -222,7 +222,7 @@ fn fuzz( ); // A feedback to choose if an input is a solution or not - let objective = feedback_or!(CrashFeedback::new(), TimeoutFeedback::new()); + let objective = feedback_or_fast!(CrashFeedback::new(), TimeoutFeedback::new()); // If not restarting, create a State from scratch let mut state = state.unwrap_or_else(|| { diff --git a/fuzzers/libfuzzer_libpng/src/lib.rs b/fuzzers/libfuzzer_libpng/src/lib.rs index 18a9788b78..4a192a4b5c 100644 --- a/fuzzers/libfuzzer_libpng/src/lib.rs +++ b/fuzzers/libfuzzer_libpng/src/lib.rs @@ -13,7 +13,7 @@ use libafl::{ }, events::{setup_restarting_mgr_std, EventRestarter}, executors::{inprocess::InProcessExecutor, ExitKind, TimeoutExecutor}, - feedback_or, + feedback_or, feedback_or_fast, feedbacks::{CrashFeedback, MapFeedbackState, MaxMapFeedback, TimeFeedback, TimeoutFeedback}, fuzzer::{Fuzzer, StdFuzzer}, inputs::{BytesInput, HasTargetBytes}, @@ -87,7 +87,7 @@ fn fuzz(corpus_dirs: &[PathBuf], objective_dir: PathBuf, broker_port: u16) -> Re ); // A feedback to choose if an input is a solution or not - let objective = feedback_or!(CrashFeedback::new(), TimeoutFeedback::new()); + let objective = feedback_or_fast!(CrashFeedback::new(), TimeoutFeedback::new()); // If not restarting, create a State from scratch let mut state = state.unwrap_or_else(|| { diff --git a/fuzzers/libfuzzer_libpng_launcher/src/lib.rs b/fuzzers/libfuzzer_libpng_launcher/src/lib.rs index 7511972637..5af992b26a 100644 --- a/fuzzers/libfuzzer_libpng_launcher/src/lib.rs +++ b/fuzzers/libfuzzer_libpng_launcher/src/lib.rs @@ -21,7 +21,7 @@ use libafl::{ QueueCorpusScheduler, }, executors::{inprocess::InProcessExecutor, ExitKind, TimeoutExecutor}, - feedback_or, + feedback_or, feedback_or_fast, feedbacks::{CrashFeedback, MapFeedbackState, MaxMapFeedback, TimeFeedback, TimeoutFeedback}, fuzzer::{Fuzzer, StdFuzzer}, inputs::{BytesInput, HasTargetBytes}, @@ -84,7 +84,7 @@ pub fn libafl_main() { ); // A feedback to choose if an input is a solution or not - let objective = feedback_or!(CrashFeedback::new(), TimeoutFeedback::new()); + let objective = feedback_or_fast!(CrashFeedback::new(), TimeoutFeedback::new()); // If not restarting, create a State from scratch let mut state = state.unwrap_or_else(|| {