diff options
author | Sunil Nimmagadda <sunil@nimmagadda.net> | 2025-05-04 12:54:18 +0530 |
---|---|---|
committer | Sunil Nimmagadda <sunil@nimmagadda.net> | 2025-05-04 12:54:18 +0530 |
commit | a078d9ce97de9f0a18f9eb7c91523adce060c968 (patch) | |
tree | 20af945a0950e9b4ee15e867a94d5285219f4aa5 | |
parent | 32b973478cd806c5f07ffa128179a5395a6597c9 (diff) |
-rw-r--r-- | src/vrrpv2.rs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/vrrpv2.rs b/src/vrrpv2.rs index 8247b19..ad68e6e 100644 --- a/src/vrrpv2.rs +++ b/src/vrrpv2.rs @@ -129,13 +129,11 @@ impl VRRPv2 { fn parse(bytes: &[u8]) -> Result<VRRPv2, VRRPv2Error> { let mut rdr = Cursor::new(bytes); - let vertype = rdr.read_u8()?; - if (vertype & 0xF) != 1 { - return Err(VRRPv2Error::InvalidType); - } - if (vertype >> 4) != 2 { - return Err(VRRPv2Error::InvalidVersion); - } + match rdr.read_u8()? { + i if (i & 0xF) != 1 => return Err(VRRPv2Error::InvalidType), + i if (i >> 4) != 2 => return Err(VRRPv2Error::InvalidVersion), + _ => {} + }; let virtual_router_id = rdr.read_u8()?; let priority = rdr.read_u8()?; let count_ip_addrs = rdr.read_u8()?; |