Merge 'Fix out of bounds access on parse_numeric_str' from Levy A.

Fixes #1361.

Closes #1362
This commit is contained in:
Jussi Saurio
2025-04-18 15:24:37 +03:00

View File

@@ -912,11 +912,10 @@ fn parse_numeric_str(text: &str) -> Result<(OwnedValueType, &str), ()> {
let text = text.trim();
let bytes = text.as_bytes();
if bytes.is_empty()
|| bytes[0] == b'e'
|| bytes[0] == b'E'
|| (bytes[0] == b'.' && (bytes[1] == b'e' || bytes[1] == b'E'))
{
if matches!(
bytes,
[] | [b'e', ..] | [b'E', ..] | [b'.', b'e' | b'E', ..]
) {
return Err(());
}