From 3c4b5a7fa1cfaa20be7483bf932ddc017320b375 Mon Sep 17 00:00:00 2001 From: Thomas Rooijakkers Date: Tue, 23 Sep 2025 13:15:11 +0200 Subject: [PATCH 1/3] Revert faulty renaming --- crates/libafl/src/corpus/minimizer.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/libafl/src/corpus/minimizer.rs b/crates/libafl/src/corpus/minimizer.rs index 9b5b82809b2..135fe268847 100644 --- a/crates/libafl/src/corpus/minimizer.rs +++ b/crates/libafl/src/corpus/minimizer.rs @@ -20,7 +20,7 @@ use crate::{ inputs::Input, monitors::stats::{AggregatorOps, UserStats, UserStatsValue}, observers::{MapObserver, ObserversTuple}, - schedulers::{LenTimeMulTestcasePenalty, RemovableScheduler, Scheduler, TestcasePenalty}, + schedulers::{LenTimeMulTestcasePenalty, RemovableScheduler, Scheduler, TestcasePenalty, TestcaseScore}, stages::run_target_with_timing, state::{HasCorpus, HasExecutions}, }; @@ -59,7 +59,7 @@ where I: Input, S: HasMetadata + HasCorpus + HasExecutions, T: Copy + Hash + Eq, - TS: TestcasePenalty, + TS: TestcaseScore, { /// Do the minimization #[expect(clippy::too_many_lines)] From 1dd81eec30d2f3ef59a14cd290a75bf150bc0dc3 Mon Sep 17 00:00:00 2001 From: Thomas Rooijakkers Date: Tue, 23 Sep 2025 14:17:10 +0200 Subject: [PATCH 2/3] Revert "Revert faulty renaming" This reverts commit 3c4b5a7fa1cfaa20be7483bf932ddc017320b375. --- crates/libafl/src/corpus/minimizer.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/libafl/src/corpus/minimizer.rs b/crates/libafl/src/corpus/minimizer.rs index 135fe268847..9b5b82809b2 100644 --- a/crates/libafl/src/corpus/minimizer.rs +++ b/crates/libafl/src/corpus/minimizer.rs @@ -20,7 +20,7 @@ use crate::{ inputs::Input, monitors::stats::{AggregatorOps, UserStats, UserStatsValue}, observers::{MapObserver, ObserversTuple}, - schedulers::{LenTimeMulTestcasePenalty, RemovableScheduler, Scheduler, TestcasePenalty, TestcaseScore}, + schedulers::{LenTimeMulTestcasePenalty, RemovableScheduler, Scheduler, TestcasePenalty}, stages::run_target_with_timing, state::{HasCorpus, HasExecutions}, }; @@ -59,7 +59,7 @@ where I: Input, S: HasMetadata + HasCorpus + HasExecutions, T: Copy + Hash + Eq, - TS: TestcaseScore, + TS: TestcasePenalty, { /// Do the minimization #[expect(clippy::too_many_lines)] From d9b3af4da804347b93313005926be84a6bb8d11f Mon Sep 17 00:00:00 2001 From: Thomas Rooijakkers Date: Tue, 23 Sep 2025 14:19:18 +0200 Subject: [PATCH 3/3] Should use TP instead of TS for Penalty --- crates/libafl/src/corpus/minimizer.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/libafl/src/corpus/minimizer.rs b/crates/libafl/src/corpus/minimizer.rs index 9b5b82809b2..5d132c2b5ab 100644 --- a/crates/libafl/src/corpus/minimizer.rs +++ b/crates/libafl/src/corpus/minimizer.rs @@ -29,16 +29,16 @@ use crate::{ /// /// Algorithm based on WMOPT: #[derive(Debug)] -pub struct MapCorpusMinimizer { +pub struct MapCorpusMinimizer { observer_handle: Handle, - phantom: PhantomData<(E, I, O, S, T, TS)>, + phantom: PhantomData<(E, I, O, S, T, TP)>, } /// Standard corpus minimizer, which weights inputs by length and time. pub type StdCorpusMinimizer = MapCorpusMinimizer; -impl MapCorpusMinimizer +impl MapCorpusMinimizer where C: Named, { @@ -52,14 +52,14 @@ where } } -impl MapCorpusMinimizer +impl MapCorpusMinimizer where for<'a> O: MapObserver + AsIter<'a, Item = T>, C: AsRef, I: Input, S: HasMetadata + HasCorpus + HasExecutions, T: Copy + Hash + Eq, - TS: TestcasePenalty, + TP: TestcasePenalty, { /// Do the minimization #[expect(clippy::too_many_lines)] @@ -121,7 +121,7 @@ where let mut testcase = state.corpus().get(id)?.borrow_mut(); ( - TS::compute(state, &mut *testcase)? + TP::compute(state, &mut *testcase)? .to_u64() .expect("Weight must be computable."), *state.executions(),