diff --git a/libafl/src/corpus/cached.rs b/libafl/src/corpus/cached.rs index 50948bcf24..185f61e062 100644 --- a/libafl/src/corpus/cached.rs +++ b/libafl/src/corpus/cached.rs @@ -38,9 +38,13 @@ where self.load_input_into(&mut testcase.borrow_mut())?; let mut borrowed_num = 0; while self.cached_indexes.borrow().len() >= self.cache_max_len { - let removed = self.cached_indexes.borrow_mut().pop_front().ok_or_else(|| { - Error::illegal_state("Cached indexes queue was unexpectedly empty") - })?; + let removed = self + .cached_indexes + .borrow_mut() + .pop_front() + .ok_or_else(|| { + Error::illegal_state("Cached indexes queue was unexpectedly empty") + })?; if let Ok(mut borrowed) = self.inner.get_from_all(removed)?.try_borrow_mut() { *borrowed.input_mut() = None; diff --git a/libafl/src/corpus/inmemory.rs b/libafl/src/corpus/inmemory.rs index d0022965bd..20bc027475 100644 --- a/libafl/src/corpus/inmemory.rs +++ b/libafl/src/corpus/inmemory.rs @@ -79,13 +79,19 @@ impl TestcaseStorageMap { if let Some(item) = self.map.remove(&id) { self.remove_key(id); if let Some(prev) = item.prev { - self.map.get_mut(&prev).ok_or_else(|| Error::illegal_state("Unable to fetch previous CorpusId"))?.next = item.next; + self.map + .get_mut(&prev) + .ok_or_else(|| Error::illegal_state("Unable to fetch next CorpusId"))? + .next = item.next; } else { // first elem self.first_id = item.next; } if let Some(next) = item.next { - self.map.get_mut(&next).ok_or_else(|| Error::illegal_state("Unable to fetch next CorpusId"))?.prev = item.prev; + self.map + .get_mut(&next) + .ok_or_else(|| Error::illegal_state("Unable to fetch previous CorpusId"))? + .prev = item.prev; } else { // last elem self.last_id = item.prev; @@ -93,7 +99,6 @@ impl TestcaseStorageMap { Ok(item.testcase) } else { Err(Error::illegal_argument("Testcase not found in storage")) - } } diff --git a/libafl/src/corpus/inmemory_ondisk.rs b/libafl/src/corpus/inmemory_ondisk.rs index 6e0b0199d1..4e16bad5a0 100644 --- a/libafl/src/corpus/inmemory_ondisk.rs +++ b/libafl/src/corpus/inmemory_ondisk.rs @@ -330,7 +330,10 @@ impl InMemoryOnDiskCorpus { if testcase.filename().is_some() { // We are renaming! - let old_filename = testcase.filename_mut().take().ok_or_else(|| Error::illegal_argument("Testcase missing filename for renaming"))?; + let old_filename = testcase + .filename_mut() + .take() + .ok_or_else(|| Error::illegal_argument("Testcase missing filename for renaming"))?; let new_filename = filename; // Do operations below when new filename is specified @@ -357,14 +360,13 @@ impl InMemoryOnDiskCorpus { where I: Input, { - let file_name = match testcase.filename_mut().take() { - Some(name) => name, - None => { - let input = testcase.input().as_ref().ok_or_else(|| { - Error::illegal_argument("Testcase missing input; cannot generate filename") - })?; - input.generate_name(id) - } + let file_name = if let Some(name) = testcase.filename_mut().take() { + name + } else { + let input = testcase.input().as_ref().ok_or_else(|| { + Error::illegal_argument("Testcase missing input; cannot generate filename") + })?; + input.generate_name(id) }; let mut ctr = 1; @@ -372,16 +374,17 @@ impl InMemoryOnDiskCorpus { let lockfile_name = format!(".{file_name}"); let lockfile_path = self.dir_path.join(lockfile_name); - let mut lockfile = try_create_new(&lockfile_path)?.or_else(|| { - OpenOptions::new() - .write(true) - .read(true) - .open(&lockfile_path) - .ok() - }) - .ok_or_else(|| { - Error::illegal_state("Failed to open or create lockfile for testcase") - })?; + let mut lockfile = try_create_new(&lockfile_path)? + .or_else(|| { + OpenOptions::new() + .write(true) + .read(true) + .open(&lockfile_path) + .ok() + }) + .ok_or_else(|| { + Error::illegal_state("Failed to open or create lockfile for testcase") + })?; lockfile.lock_exclusive()?; let mut old_ctr = String::new(); @@ -405,13 +408,9 @@ impl InMemoryOnDiskCorpus { .as_ref() .ok_or_else(|| Error::illegal_argument("Testcase missing filename for metadata"))?; let metafile_name = if self.locking { - format!( - ".{}_{}.metadata", - filename_ref, - ctr - ) + format!(".{filename_ref}_{ctr}.metadata") } else { - format!(".{}.metadata", filename_ref) + format!(".{filename_ref}.metadata") }; let metafile_path = self.dir_path.join(&metafile_name); let mut tmpfile_path = metafile_path.clone(); diff --git a/libafl/src/corpus/minimizer.rs b/libafl/src/corpus/minimizer.rs index b19969e44d..8de57e7ade 100644 --- a/libafl/src/corpus/minimizer.rs +++ b/libafl/src/corpus/minimizer.rs @@ -198,7 +198,12 @@ where let mut removed = Vec::with_capacity(state.corpus().count()); for (seed, (id, _)) in seed_exprs { // if the model says the seed isn't there, mark it for deletion - if !model.eval(&seed, true).ok_or_else(|| Error::illegal_state("Error Evaluating Modal"))?.as_bool().ok_or_else(|| Error::illegal_state("Error converting condition to bool"))? { + if !model + .eval(&seed, true) + .ok_or_else(|| Error::illegal_state("Error evaluating model"))? + .as_bool() + .ok_or_else(|| Error::illegal_state("Error converting condition to bool"))? + { removed.push(id); } } diff --git a/libafl/src/corpus/testcase.rs b/libafl/src/corpus/testcase.rs index 4406e0b92f..0a5053e5b0 100644 --- a/libafl/src/corpus/testcase.rs +++ b/libafl/src/corpus/testcase.rs @@ -83,7 +83,9 @@ impl Testcase { /// Returns this [`Testcase`] with a loaded `Input`] pub fn load_input>(&mut self, corpus: &C) -> Result<&I, Error> { corpus.load_input_into(self)?; - Ok(self.input.as_ref().ok_or_else(|| Error::illegal_argument("Error converting reference"))?) + self.input + .as_ref() + .ok_or_else(|| Error::illegal_argument("Error converting reference")) } /// Get the input, if available any @@ -497,13 +499,12 @@ impl Drop for Testcase { fn drop(&mut self) { if let Some(filename) = &self.filename { let mut path = PathBuf::from(filename); - let lockname = match path.file_name().and_then(|os_str| os_str.to_str()) { - Some(name) => format!(".{}.lafl_lock", name), - None => { - // Log an error or silently return if conversion fails. - eprintln!("Failed to convert filename to string for lock file."); - return; - } + let lockname = if let Some(name) = path.file_name().and_then(|os_str| os_str.to_str()) { + format!(".{name}.lafl_lock") + } else { + // Log an error or silently return if conversion fails. + eprintln!("Failed to convert filename to string for lock file."); + return; }; path.set_file_name(lockname); let _ = std::fs::remove_file(path);