From 24d3e02c0be1bae8babb9c3b7fb1e046601db03b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Magalh=C3=A3es?= <joamag@gmail.com> Date: Thu, 8 Aug 2024 19:35:47 +0100 Subject: [PATCH] chore: better crc32 unpack --- crates/encoding/src/zippy.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/encoding/src/zippy.rs b/crates/encoding/src/zippy.rs index 996fade2..5de49748 100644 --- a/crates/encoding/src/zippy.rs +++ b/crates/encoding/src/zippy.rs @@ -215,7 +215,11 @@ impl Zippy { #[inline(always)] fn read_crc32_feature(&mut self, data: &mut Cursor<&[u8]>) -> Result<(), Error> { - let payload: [u8; 4] = Self::read_payload(data)?.try_into().unwrap(); + let payload = Self::read_payload(data)?; + if payload.len() != size_of::<u32>() { + return Err(Error::InvalidData); + } + let payload: [u8; 4] = payload.try_into().unwrap(); self.crc32 = u32::from_le_bytes(payload); Ok(()) } -- GitLab