Skip to content

Commit 05ca70c

Browse files
committed
fixup libafl_libfuzzer
1 parent 6307a65 commit 05ca70c

File tree

4 files changed

+19
-7
lines changed

4 files changed

+19
-7
lines changed

libafl_libfuzzer/libafl_libfuzzer_runtime/src/feedbacks.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,4 +170,4 @@ where
170170
}
171171
}
172172

173-
pub type ShrinkMapFeedback<O, S, T> = MinMapFeedback<MappedEdgeMapObserver<O, T>, S, usize>;
173+
pub type ShrinkMapFeedback<O, S, T, A> = MinMapFeedback<MappedEdgeMapObserver<O, T>, S, usize, A>;

libafl_libfuzzer/libafl_libfuzzer_runtime/src/lib.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ macro_rules! fuzz_with {
168168
I2SRandReplace, StdScheduledMutator, StringCategoryRandMutator, StringSubcategoryRandMutator,
169169
StringCategoryTokenReplaceMutator, StringSubcategoryTokenReplaceMutator, Tokens, tokens_mutations
170170
},
171-
observers::{stacktrace::BacktraceObserver, TimeObserver},
171+
observers::{stacktrace::BacktraceObserver, TimeObserver, TrackingHinted},
172172
schedulers::{
173173
IndexesLenTimeMinimizerScheduler, powersched::PowerSchedule, PowerQueueScheduler,
174174
},
@@ -198,7 +198,7 @@ macro_rules! fuzz_with {
198198
let grimoire_metadata = should_use_grimoire(&mut state, &$options, &mutator_status)?;
199199
let grimoire = grimoire_metadata.should();
200200

201-
let edges_observer = edge_maker();
201+
let edges_observer = edge_maker().track_indices().track_novelties();
202202
let size_edges_observer = MappedEdgeMapObserver::new(edge_maker(), SizeValueObserver::default());
203203

204204
let keep_observer = LibfuzzerKeepFeedback::new();
@@ -220,8 +220,8 @@ macro_rules! fuzz_with {
220220
);
221221

222222
// New maximization map feedback linked to the edges observer
223-
let map_feedback = MaxMapFeedback::tracking(&edges_observer, true, true);
224-
let shrinking_map_feedback = ShrinkMapFeedback::tracking(&size_edges_observer, false, false);
223+
let map_feedback = MaxMapFeedback::new(&edges_observer);
224+
let shrinking_map_feedback = ShrinkMapFeedback::new(&size_edges_observer);
225225

226226
// Set up a generalization stage for grimoire
227227
let generalization = GeneralizationStage::new(&edges_observer);
@@ -412,7 +412,7 @@ macro_rules! fuzz_with {
412412
let grimoire = IfStage::new(|_, _, _, _| Ok(grimoire.into()), (StdMutationalStage::transforming(grimoire_mutator), ()));
413413

414414
// A minimization+queue policy to get testcasess from the corpus
415-
let scheduler = IndexesLenTimeMinimizerScheduler::new(PowerQueueScheduler::new(&mut state, &edges_observer, PowerSchedule::FAST));
415+
let scheduler = IndexesLenTimeMinimizerScheduler::new(&edges_observer, PowerQueueScheduler::new(&mut state, &edges_observer, PowerSchedule::FAST));
416416

417417
// A fuzzer with feedbacks and a corpus scheduler
418418
let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);

libafl_libfuzzer/libafl_libfuzzer_runtime/src/merge.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ pub fn merge(
104104
let edges_observer =
105105
MappedEdgeMapObserver::new(edges_observer, SizeTimeValueObserver::new(time));
106106

107-
let map_feedback = MinMapFeedback::tracking(&edges_observer, false, true);
107+
let map_feedback = MinMapFeedback::new(&edges_observer);
108108

109109
// Create an OOM observer to monitor if an OOM has occurred
110110
let oom_observer = OomObserver::new(options.rss_limit(), options.malloc_limit());

libafl_libfuzzer/libafl_libfuzzer_runtime/src/observers.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,18 @@ where
5555
}
5656
}
5757

58+
impl<M, O> AsRef<Self> for MappedEdgeMapObserver<M, O> {
59+
fn as_ref(&self) -> &Self {
60+
self
61+
}
62+
}
63+
64+
impl<M, O> AsMut<Self> for MappedEdgeMapObserver<M, O> {
65+
fn as_mut(&mut self) -> &mut Self {
66+
self
67+
}
68+
}
69+
5870
impl<M, O> HasLen for MappedEdgeMapObserver<M, O>
5971
where
6072
M: HasLen,

0 commit comments

Comments
 (0)