From 921ab9e28931111b89502b80f23fb7a1193bef6a Mon Sep 17 00:00:00 2001 From: Toka Date: Wed, 5 May 2021 15:02:37 +0900 Subject: [PATCH] add append/discard_metadata for and/or/not feedback (#86) * add append/discard_metadata for and/or/not feedback * fix --- libafl/src/feedbacks/mod.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/libafl/src/feedbacks/mod.rs b/libafl/src/feedbacks/mod.rs index a50d397534..c75fec1544 100644 --- a/libafl/src/feedbacks/mod.rs +++ b/libafl/src/feedbacks/mod.rs @@ -80,6 +80,18 @@ where let b = self.second.is_interesting(input, observers, exit_kind)?; Ok(a && b) } + + #[inline] + fn append_metadata(&mut self, testcase: &mut Testcase) -> Result<(), Error> { + self.first.append_metadata(testcase)?; + self.second.append_metadata(testcase) + } + + #[inline] + fn discard_metadata(&mut self, input: &I) -> Result<(), Error> { + self.first.discard_metadata(input)?; + self.second.discard_metadata(input) + } } impl Named for AndFeedback @@ -143,6 +155,18 @@ where let b = self.second.is_interesting(input, observers, exit_kind)?; Ok(a || b) } + + #[inline] + fn append_metadata(&mut self, testcase: &mut Testcase) -> Result<(), Error> { + self.first.append_metadata(testcase)?; + self.second.append_metadata(testcase) + } + + #[inline] + fn discard_metadata(&mut self, input: &I) -> Result<(), Error> { + self.first.discard_metadata(input)?; + self.second.discard_metadata(input) + } } impl Named for OrFeedback @@ -201,6 +225,16 @@ where { Ok(!self.first.is_interesting(input, observers, exit_kind)?) } + + #[inline] + fn append_metadata(&mut self, testcase: &mut Testcase) -> Result<(), Error> { + self.first.append_metadata(testcase) + } + + #[inline] + fn discard_metadata(&mut self, input: &I) -> Result<(), Error> { + self.first.discard_metadata(input) + } } impl Named for NotFeedback