From ed2425d2d2eb8123a56bdc96d5ee5724f9db2eb8 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 8 Oct 2020 01:35:32 +0100 Subject: [PATCH] reject trailing zero limbs Signed-off-by: Ian Jackson --- src/bigfloat.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/bigfloat.rs b/src/bigfloat.rs index 78067103..f3588b8e 100644 --- a/src/bigfloat.rs +++ b/src/bigfloat.rs @@ -206,6 +206,7 @@ impl Bigfloat { }) { None? } match lt[DIGITS_PER_LIMB..] { [] | [b'_'] => (), _ => None? }; } + if &s[s.len() - DIGITS_PER_LIMB.. ] == b"0000000000" { None? } Bigfloat::alloc_copy(s).ok()? } @@ -351,6 +352,8 @@ mod test { fn bad(s: &str) { assert_eq!(None, Bigfloat::from_str(s)); } bad(""); bad("0"); + bad("0000000000"); + bad("0000000000_0000000000"); bad("aaaaaaaa0_aaaaaaaa00"); bad("aaaaaaaa0_aaaaaaaa00"); bad("aaaaaaaa00_aaaaaaaa0"); -- 2.30.2