Skip to content

Commit d10e645

Browse files
Remove empty match arm during prefix check
1 parent e55e0d5 commit d10e645

File tree

1 file changed

+38
-6
lines changed

1 file changed

+38
-6
lines changed

lightning-rapid-gossip-sync/src/processing.rs

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,9 @@ impl<NG: Deref<Target=NetworkGraph<L>>, L: Deref> RapidGossipSync<NG, L> where L
3737
let mut prefix = [0u8; 4];
3838
read_cursor.read_exact(&mut prefix)?;
3939

40-
match prefix {
41-
GOSSIP_PREFIX => {}
42-
_ => {
43-
return Err(DecodeError::UnknownVersion.into());
44-
}
45-
};
40+
if prefix != GOSSIP_PREFIX {
41+
return Err(DecodeError::UnknownVersion.into());
42+
}
4643

4744
let chain_hash: BlockHash = Readable::read(read_cursor)?;
4845
let latest_seen_timestamp: u32 = Readable::read(read_cursor)?;
@@ -534,4 +531,39 @@ mod tests {
534531
assert!(after.contains("619737530008010752"));
535532
assert!(after.contains("783241506229452801"));
536533
}
534+
535+
#[test]
536+
pub fn update_fails_with_unknown_version() {
537+
let unknown_version_input = vec![
538+
76, 68, 75, 2, 111, 226, 140, 10, 182, 241, 179, 114, 193, 166, 162, 70, 174, 99, 247,
539+
79, 147, 30, 131, 101, 225, 90, 8, 156, 104, 214, 25, 0, 0, 0, 0, 0, 97, 227, 98, 218,
540+
0, 0, 0, 4, 2, 22, 7, 207, 206, 25, 164, 197, 231, 230, 231, 56, 102, 61, 250, 251,
541+
187, 172, 38, 46, 79, 247, 108, 44, 155, 48, 219, 238, 252, 53, 192, 6, 67, 2, 36, 125,
542+
157, 176, 223, 175, 234, 116, 94, 248, 201, 225, 97, 235, 50, 47, 115, 172, 63, 136,
543+
88, 216, 115, 11, 111, 217, 114, 84, 116, 124, 231, 107, 2, 158, 1, 242, 121, 152, 106,
544+
204, 131, 186, 35, 93, 70, 216, 10, 237, 224, 183, 89, 95, 65, 3, 83, 185, 58, 138,
545+
181, 64, 187, 103, 127, 68, 50, 2, 201, 19, 17, 138, 136, 149, 185, 226, 156, 137, 175,
546+
110, 32, 237, 0, 217, 90, 31, 100, 228, 149, 46, 219, 175, 168, 77, 4, 143, 38, 128,
547+
76, 97, 0, 0, 0, 2, 0, 0, 255, 8, 153, 192, 0, 2, 27, 0, 0, 0, 1, 0, 0, 255, 2, 68,
548+
226, 0, 6, 11, 0, 1, 2, 3, 0, 0, 0, 4, 0, 40, 0, 0, 0, 0, 0, 0, 3, 232, 0, 0, 3, 232,
549+
0, 0, 0, 1, 0, 0, 0, 0, 29, 129, 25, 192, 255, 8, 153, 192, 0, 2, 27, 0, 0, 60, 0, 0,
550+
0, 0, 0, 0, 0, 1, 0, 0, 0, 100, 0, 0, 2, 224, 0, 0, 0, 0, 58, 85, 116, 216, 0, 29, 0,
551+
0, 0, 1, 0, 0, 0, 125, 0, 0, 0, 0, 58, 85, 116, 216, 255, 2, 68, 226, 0, 6, 11, 0, 1,
552+
0, 0, 1,
553+
];
554+
555+
let block_hash = genesis_block(Network::Bitcoin).block_hash();
556+
let logger = TestLogger::new();
557+
let network_graph = NetworkGraph::new(block_hash, &logger);
558+
let rapid_sync = RapidGossipSync::new(&network_graph);
559+
let update_result = rapid_sync.update_network_graph(&unknown_version_input[..]);
560+
561+
assert!(update_result.is_err());
562+
563+
if let Err(GraphSyncError::DecodeError(DecodeError::UnknownVersion)) = update_result {
564+
// this is the expected error type
565+
} else {
566+
panic!("Unexpected update result: {:?}", update_result)
567+
}
568+
}
537569
}

0 commit comments

Comments
 (0)