Skip to content

Commit 5e92615

Browse files
committed
Fix creation of RingBuffer and Arbitrary instance in fuzz_target!
Fixes #42
1 parent 891d882 commit 5e92615

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

src/lib.rs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,16 @@ macro_rules! fuzz_target {
5050
pub extern fn rust_fuzzer_test_input(bytes: &[u8]) {
5151
use arbitrary::{Arbitrary, RingBuffer};
5252

53-
let $data: $dty = if let Ok(d) = RingBuffer::new(bytes, bytes.len()).and_then(|mut b|{
54-
Arbitrary::arbitrary(&mut b).map_err(|_| "")
55-
}) {
56-
d
57-
} else {
58-
return
53+
let mut buf = match RingBuffer::new(bytes, bytes.len()) {
54+
Ok(b) => b,
55+
Err(_) => return,
5956
};
57+
58+
let $data: $dty = match Arbitrary::arbitrary(&mut buf) {
59+
Ok(d) => d,
60+
Err(_) => return,
61+
};
62+
6063
$body
6164
}
6265
};

0 commit comments

Comments
 (0)