Skip to content

Commit 0051d4d

Browse files
committed
Merge rust-bitcoin#5054: Fix arbitrary_transaction fuzz target
3f20d54 Remove unnecessary check (Shing Him Ng) 8e7f2d2 Move serialization round trip check before object mutation (Shing Him Ng) Pull request description: I thought I tested all of the targets I updated before I published them, but this one slipped through the cracks. Updated to move the serialization before object mutation [like before](https://github.com/rust-bitcoin/rust-bitcoin/blob/66c4ea20ff30cfa3e20f3073bd3beca3117177fd/fuzz/fuzz_targets/bitcoin/deserialize_transaction.rs#L10-L11), and I ran `cycle.sh` to make sure that there weren't any glaringly obvious bugs like the one that I pushed. Also remove some unnecessary `assert`s mentioned in rust-bitcoin#5029 ACKs for top commit: apoelstra: ACK 3f20d54; successfully ran local tests; but how come our CI was fine with these? Tree-SHA512: cdf79a0bb73a6b3d236bd567ce46c56e7eca94947c93ce7ef63146dc1256c520ec17b3d9462570753d64930381a383bf48112cd409ca0f287a30ae6da90e9cf5
2 parents 8d52b4a + 3f20d54 commit 0051d4d

File tree

3 files changed

+3
-6
lines changed

3 files changed

+3
-6
lines changed

fuzz/fuzz_targets/bitcoin/arbitrary_block.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ fn do_test(data: &[u8]) {
2323
}
2424

2525
let deserialized: Result<Block, _> = deserialize(serialized.as_slice());
26-
assert!(deserialized.is_ok(), "Deserialization error: {:?}", deserialized.err().unwrap());
2726
assert_eq!(deserialized.unwrap(), block);
2827
}
2928
}

fuzz/fuzz_targets/bitcoin/arbitrary_transaction.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ fn do_test(data: &[u8]) {
1010

1111
if let Ok(mut tx) = t {
1212
let serialized = serialize(&tx);
13+
let deserialized: Result<Transaction, _> = deserialize(serialized.as_slice());
14+
assert_eq!(deserialized.unwrap(), tx);
15+
1316
let len = serialized.len();
1417
let calculated_weight = tx.weight().to_wu() as usize;
1518
for input in &mut tx.inputs {
@@ -25,10 +28,6 @@ fn do_test(data: &[u8]) {
2528
} else {
2629
assert_eq!(no_witness_len * 3 + len, calculated_weight);
2730
}
28-
29-
let deserialized: Result<Transaction, _> = deserialize(serialized.as_slice());
30-
assert!(deserialized.is_ok(), "Deserialization error: {:?}", deserialized.err().unwrap());
31-
assert_eq!(deserialized.unwrap(), tx);
3231
}
3332
}
3433

fuzz/fuzz_targets/bitcoin/arbitrary_witness.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ fn do_test(data: &[u8]) {
1414
let _ = witness.taproot_leaf_script();
1515

1616
let deserialized: Result<Witness, _> = deserialize(serialized.as_slice());
17-
assert!(deserialized.is_ok(), "Deserialization error: {:?}", deserialized.err().unwrap());
1817
assert_eq!(deserialized.unwrap(), witness);
1918

2019
if let Ok(element_bytes) = Vec::<u8>::arbitrary(&mut u) {

0 commit comments

Comments
 (0)