From 1900b53b605003614dd640db9c287c92a1f3ace7 Mon Sep 17 00:00:00 2001 From: Mees Delzenne Date: Thu, 15 Aug 2024 20:50:49 +0200 Subject: [PATCH] Fix integer overflow handling --- src/implementations/primitives.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/implementations/primitives.rs b/src/implementations/primitives.rs index 8e36603..4a4a999 100644 --- a/src/implementations/primitives.rs +++ b/src/implementations/primitives.rs @@ -240,7 +240,7 @@ macro_rules! impl_revisioned_int { where Self: Sized, { - decode_u64(reader).map(|x| x as $ty) + decode_u64(reader).and_then(|x| x.try_into().map_err(|_| Error::IntegerOverflow)) } fn revision() -> u16 { @@ -263,7 +263,8 @@ macro_rules! impl_revisioned_signed_int { where Self: Sized, { - decode_u64(reader).map(|x| gazgiz_64(x) as $ty) + decode_u64(reader) + .and_then(|x| gazgiz_64(x).try_into().map_err(|_| Error::IntegerOverflow)) } fn revision() -> u16 {