Skip to content

Commit fd6271f

Browse files
authored
Delete useless trait bounds from share_objectives feature (#2908)
* fix * a
1 parent 5002336 commit fd6271f

File tree

3 files changed

+26
-39
lines changed

3 files changed

+26
-39
lines changed

libafl/src/events/llmp/mod.rs

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,6 @@ use libafl_bolts::{
1414
};
1515
use serde::{de::DeserializeOwned, Serialize};
1616

17-
#[cfg(feature = "share_objectives")]
18-
use crate::corpus::{Corpus, Testcase};
1917
use crate::{
2018
events::{Event, EventFirer},
2119
fuzzer::EvaluatorObservers,
@@ -262,7 +260,6 @@ where
262260
) -> Result<(), Error>
263261
where
264262
ICB: InputConverter<To = I, From = DI>,
265-
S: HasCurrentTestcase<I> + HasSolutions<I>,
266263
Z: EvaluatorObservers<E, EM, I, S>,
267264
{
268265
match event {
@@ -297,17 +294,17 @@ where
297294
return Ok(());
298295
};
299296

300-
let converted_input = converter.convert(input)?;
301-
let mut testcase = Testcase::from(converted_input);
302-
testcase.set_parent_id_optional(*state.corpus().current());
297+
let res = fuzzer.evaluate_input_with_observers(
298+
state,
299+
executor,
300+
manager,
301+
converter.convert(input)?,
302+
false,
303+
)?;
303304

304-
if let Ok(mut tc) = state.current_testcase_mut() {
305-
tc.found_objective();
305+
if let Some(item) = res.1 {
306+
log::info!("Added received Objective as item #{item}");
306307
}
307-
308-
state.solutions_mut().add(testcase)?;
309-
log::info!("Added received Objective to Corpus");
310-
311308
Ok(())
312309
}
313310
Event::Stop => Ok(()),

libafl/src/events/llmp/restarting.rs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ use libafl_bolts::{
4747
use serde::{de::DeserializeOwned, Serialize};
4848
use typed_builder::TypedBuilder;
4949

50-
#[cfg(feature = "share_objectives")]
51-
use crate::corpus::{Corpus, Testcase};
5250
#[cfg(feature = "llmp_compression")]
5351
use crate::events::COMPRESS_THRESHOLD;
5452
#[cfg(all(unix, not(miri)))]
@@ -575,7 +573,7 @@ where
575573
event: Event<I>,
576574
) -> Result<(), Error>
577575
where
578-
S: HasImported + HasSolutions<I> + HasCurrentTestcase<I> + Stoppable,
576+
S: HasImported + Stoppable,
579577
EMH: EventManagerHooksTuple<I, S>,
580578
I: Input,
581579
E: HasObservers,
@@ -623,16 +621,17 @@ where
623621

624622
#[cfg(feature = "share_objectives")]
625623
Event::Objective { input, .. } => {
626-
log::debug!("Received new Objective");
627-
let mut testcase = Testcase::from(input);
628-
testcase.set_parent_id_optional(*state.corpus().current());
624+
#[cfg(feature = "std")]
625+
log::debug!("[{}] Received new Objective", std::process::id());
629626

630-
if let Ok(mut tc) = state.current_testcase_mut() {
631-
tc.found_objective();
627+
let res =
628+
fuzzer.evaluate_input_with_observers(state, executor, self, input, false)?;
629+
if let Some(item) = res.1 {
630+
*state.imported_mut() += 1;
631+
log::debug!("Added received Objective {evt_name} as item #{item}");
632+
} else {
633+
log::debug!("Objective {evt_name} was discarded");
632634
}
633-
634-
state.solutions_mut().add(testcase)?;
635-
log::info!("Added received Objective to Corpus");
636635
}
637636
Event::Stop => {
638637
state.request_stop();

libafl/src/events/tcp.rs

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@ use tokio::{
3939
use typed_builder::TypedBuilder;
4040

4141
use super::{std_maybe_report_progress, std_report_progress, AwaitRestartSafe, SendExiting};
42-
#[cfg(feature = "share_objectives")]
43-
use crate::corpus::{Corpus, Testcase};
4442
#[cfg(all(unix, not(miri)))]
4543
use crate::events::EVENTMGR_SIGHANDLER_STATE;
4644
use crate::{
@@ -565,12 +563,7 @@ impl<EMH, I, S> Drop for TcpEventManager<EMH, I, S> {
565563
impl<EMH, I, S> TcpEventManager<EMH, I, S>
566564
where
567565
EMH: EventManagerHooksTuple<I, S>,
568-
S: HasExecutions
569-
+ HasMetadata
570-
+ HasImported
571-
+ HasSolutions<I>
572-
+ HasCurrentTestcase<I>
573-
+ Stoppable,
566+
S: HasExecutions + HasMetadata + HasImported + Stoppable,
574567
{
575568
/// Write the client id for a client `EventManager` to env vars
576569
pub fn to_env(&self, env_name: &str) {
@@ -623,16 +616,14 @@ where
623616

624617
#[cfg(feature = "share_objectives")]
625618
Event::Objective { input, .. } => {
626-
log::debug!("Received new Objective");
627-
let mut testcase = Testcase::from(input);
628-
testcase.set_parent_id_optional(*state.corpus().current());
619+
log::info!("Received new Objective");
629620

630-
if let Ok(mut tc) = state.current_testcase_mut() {
631-
tc.found_objective();
621+
let res =
622+
fuzzer.evaluate_input_with_observers(state, executor, self, input, false)?;
623+
if let Some(item) = res.1 {
624+
*state.imported_mut() += 1;
625+
log::info!("Added received Testcase as item #{item}");
632626
}
633-
634-
state.solutions_mut().add(testcase)?;
635-
log::info!("Added received Objective to Corpus");
636627
}
637628
Event::Stop => {
638629
state.request_stop();

0 commit comments

Comments
 (0)