From ba7c02860e30120d0a64aaf17d97bb0b3d2a8ccf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dorian=20P=C3=A9ron?= Date: Sun, 17 Nov 2024 23:16:16 +0100 Subject: [PATCH] feat(checksum): odd number of hexa characters is wrong formatting --- src/uucore/src/lib/features/checksum.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/uucore/src/lib/features/checksum.rs b/src/uucore/src/lib/features/checksum.rs index 8c435afed..1fbf201e6 100644 --- a/src/uucore/src/lib/features/checksum.rs +++ b/src/uucore/src/lib/features/checksum.rs @@ -468,8 +468,12 @@ fn get_expected_digest_as_hex_string(caps: &Captures, chosen_regex: &Regex) -> O if chosen_regex.as_str() == ALGO_BASED_REGEX_BASE64 { BASE64.decode(ck).map(hex::encode).ok() - } else { + } else if ck.len() % 2 == 0 { Some(str::from_utf8(ck).unwrap().to_string()) + } else { + // If the length of the digest is not a multiple of 2, then it + // must be improperly formatted (1 hex digit is 2 characters) + None } }