Skip to content

Commit bf0498a

Browse files
authored
Anoter Round of Clippy (#3519)
1 parent 18b4d2d commit bf0498a

File tree

2 files changed

+79
-75
lines changed

2 files changed

+79
-75
lines changed

crates/libafl/src/executors/hooks/inprocess.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,9 @@ impl<I, S> HasTimeout for InProcessHooks<I, S> {
154154
null_mut(),
155155
);
156156
}
157-
let elapsed = cur_time - self.timer().tmout_start_time;
157+
let elapsed = cur_time
158+
.checked_sub(self.timer().tmout_start_time)
159+
.unwrap_or_default();
158160
// set timer the next exec
159161
if self.timer().executions > 0 {
160162
self.timer_mut().avg_exec_time = elapsed / self.timer().executions;
@@ -165,7 +167,9 @@ impl<I, S> HasTimeout for InProcessHooks<I, S> {
165167
return true;
166168
}
167169

168-
let elapsed_run = cur_time - self.timer_mut().start_time;
170+
let elapsed_run = cur_time
171+
.checked_sub(self.timer_mut().start_time)
172+
.unwrap_or_default();
169173
if elapsed_run < self.timer_mut().exec_tmout {
170174
// fp, reset timeout
171175
unsafe {
@@ -177,7 +181,9 @@ impl<I, S> HasTimeout for InProcessHooks<I, S> {
177181
);
178182
}
179183
if self.timer().executions > 0 {
180-
let elapsed = cur_time - self.timer_mut().tmout_start_time;
184+
let elapsed = cur_time
185+
.checked_sub(self.timer_mut().tmout_start_time)
186+
.unwrap_or_default();
181187
self.timer_mut().avg_exec_time = elapsed / self.timer().executions;
182188
self.timer_mut().executions = 0; // It will be 1 when the exec finish
183189
}

crates/libafl/src/observers/stdio.rs

Lines changed: 70 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -87,91 +87,89 @@ use crate::{Error, observers::Observer};
8787
/// }
8888
/// }
8989
///
90-
/// fn main() {
91-
/// let input_text = "Hello, World!";
92-
/// let encoded_input_text = "SGVsbG8sIFdvcmxkIQo=";
90+
/// let input_text = "Hello, World!";
91+
/// let encoded_input_text = "SGVsbG8sIFdvcmxkIQo=";
9392
///
94-
/// let stdout_observer = StdOutObserver::new("stdout-observer".into()).unwrap();
95-
/// let stderr_observer = StdErrObserver::new("stderr-observer".into()).unwrap();
93+
/// let stdout_observer = StdOutObserver::new("stdout-observer".into()).unwrap();
94+
/// let stderr_observer = StdErrObserver::new("stderr-observer".into()).unwrap();
9695
///
97-
/// let mut feedback = ExportStdXObserver {
98-
/// stdout_observer: stdout_observer.handle(),
99-
/// stderr_observer: stderr_observer.handle(),
100-
/// };
96+
/// let mut feedback = ExportStdXObserver {
97+
/// stdout_observer: stdout_observer.handle(),
98+
/// stderr_observer: stderr_observer.handle(),
99+
/// };
101100
///
102-
/// let mut objective = ();
101+
/// let mut objective = ();
103102
///
104-
/// let mut executor = CommandExecutor::builder()
105-
/// .program("base64")
106-
/// .arg("--decode")
107-
/// .stdout_observer(stdout_observer.handle())
108-
/// .stderr_observer(stderr_observer.handle())
109-
/// .build(tuple_list!(stdout_observer, stderr_observer))
110-
/// .unwrap();
103+
/// let mut executor = CommandExecutor::builder()
104+
/// .program("base64")
105+
/// .arg("--decode")
106+
/// .stdout_observer(stdout_observer.handle())
107+
/// .stderr_observer(stderr_observer.handle())
108+
/// .build(tuple_list!(stdout_observer, stderr_observer))
109+
/// .unwrap();
111110
///
112-
/// let mut state = StdState::new(
113-
/// StdRand::with_seed(current_nanos()),
114-
/// InMemoryCorpus::new(),
115-
/// InMemoryCorpus::new(),
116-
/// &mut feedback,
117-
/// &mut objective,
118-
/// )
119-
/// .unwrap();
111+
/// let mut state = StdState::new(
112+
/// StdRand::with_seed(current_nanos()),
113+
/// InMemoryCorpus::new(),
114+
/// InMemoryCorpus::new(),
115+
/// &mut feedback,
116+
/// &mut objective,
117+
/// )
118+
/// .unwrap();
120119
///
121-
/// let scheduler = QueueScheduler::new();
122-
/// let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);
123-
/// let mut manager = NopEventManager::new();
120+
/// let scheduler = QueueScheduler::new();
121+
/// let mut fuzzer = StdFuzzer::new(scheduler, feedback, objective);
122+
/// let mut manager = NopEventManager::new();
124123
///
125-
/// let mut stages = tuple_list!(StdMutationalStage::new(NopMutator::new(
126-
/// MutationResult::Mutated
127-
/// )));
124+
/// let mut stages = tuple_list!(StdMutationalStage::new(NopMutator::new(
125+
/// MutationResult::Mutated
126+
/// )));
128127
///
129-
/// state
130-
/// .corpus_mut()
131-
/// .add(Testcase::new(BytesInput::from(
132-
/// encoded_input_text.as_bytes().to_vec(),
133-
/// )))
134-
/// .unwrap();
128+
/// state
129+
/// .corpus_mut()
130+
/// .add(Testcase::new(BytesInput::from(
131+
/// encoded_input_text.as_bytes().to_vec(),
132+
/// )))
133+
/// .unwrap();
135134
///
136-
/// let corpus_id = fuzzer
137-
/// .fuzz_one(&mut stages, &mut executor, &mut state, &mut manager)
138-
/// .unwrap();
135+
/// let corpus_id = fuzzer
136+
/// .fuzz_one(&mut stages, &mut executor, &mut state, &mut manager)
137+
/// .unwrap();
139138
///
140-
/// unsafe {
141-
/// assert!(
142-
/// input_text
143-
/// .as_bytes()
144-
/// .iter()
145-
/// .zip(
146-
/// (&*(&raw const STDOUT))
147-
/// .as_ref()
148-
/// .unwrap()
149-
/// .iter()
150-
/// .filter(|e| **e != 10)
151-
/// ) // ignore newline chars
152-
/// .all(|(&a, &b)| a == b)
153-
/// );
154-
/// assert!((&*(&raw const STDERR)).as_ref().unwrap().is_empty());
155-
/// }
139+
/// unsafe {
140+
/// assert!(
141+
/// input_text
142+
/// .as_bytes()
143+
/// .iter()
144+
/// .zip(
145+
/// (&*(&raw const STDOUT))
146+
/// .as_ref()
147+
/// .unwrap()
148+
/// .iter()
149+
/// .filter(|e| **e != 10)
150+
/// ) // ignore newline chars
151+
/// .all(|(&a, &b)| a == b)
152+
/// );
153+
/// assert!((&*(&raw const STDERR)).as_ref().unwrap().is_empty());
154+
/// }
156155
///
157-
/// state
158-
/// .corpus()
159-
/// .get(corpus_id)
160-
/// .unwrap()
161-
/// .replace(Testcase::new(BytesInput::from(
162-
/// encoded_input_text.bytes().skip(1).collect::<Vec<u8>>(), // skip one char to make it invalid code
163-
/// )));
156+
/// state
157+
/// .corpus()
158+
/// .get(corpus_id)
159+
/// .unwrap()
160+
/// .replace(Testcase::new(BytesInput::from(
161+
/// encoded_input_text.bytes().skip(1).collect::<Vec<u8>>(), // skip one char to make it invalid code
162+
/// )));
164163
///
165-
/// fuzzer
166-
/// .fuzz_one(&mut stages, &mut executor, &mut state, &mut manager)
167-
/// .unwrap();
164+
/// fuzzer
165+
/// .fuzz_one(&mut stages, &mut executor, &mut state, &mut manager)
166+
/// .unwrap();
168167
///
169-
/// unsafe {
170-
/// let compare_vec: Vec<u8> = Vec::new();
171-
/// assert_eq!(compare_vec, *(&*(&raw const STDERR)).clone().unwrap());
172-
/// // stdout will still contain data, we're just checking that there is an error message
173-
/// }
174-
/// }
168+
/// unsafe {
169+
/// let compare_vec: Vec<u8> = Vec::new();
170+
/// assert_eq!(compare_vec, *(&*(&raw const STDERR)).clone().unwrap());
171+
/// // stdout will still contain data, we're just checking that there is an error message
172+
/// }
175173
/// ```
176174
///
177175
#[derive(Debug, Serialize, Deserialize)]

0 commit comments

Comments
 (0)