Skip to content

Commit ca344e6

Browse files
committed
Update deserialize_witness fuzz target to use arbitrary impl
1 parent 66f7a0a commit ca344e6

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

fuzz/fuzz_targets/bitcoin/deserialize_witness.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
use bitcoin::consensus::{deserialize, serialize};
22
use bitcoin::witness::Witness;
33
use honggfuzz::fuzz;
4+
use arbitrary::{Arbitrary, Unstructured};
45

56
fn do_test(data: &[u8]) {
6-
let w: Result<Witness, _> = deserialize(data);
7+
let mut u = Unstructured::new(data);
8+
9+
let w = Witness::arbitrary(&mut u);
710
if let Ok(witness) = w {
811
let serialized = serialize(&witness);
9-
assert_eq!(data, &serialized[..]);
12+
let deserialized: Result<Witness, _> = deserialize(serialized.as_slice());
13+
14+
assert!(deserialized.is_ok());
15+
assert_eq!(deserialized.unwrap(), witness);
1016
}
1117
}
1218

0 commit comments

Comments
 (0)