Skip to content

Commit e9a7d6a

Browse files
authored
Fix panic on overflowing integer (#14)
1 parent 62c7110 commit e9a7d6a

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/lib.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1019,6 +1019,8 @@ mod tests {
10191019
format(input, &QueryParams::Indexed(params), options),
10201020
expected
10211021
);
1022+
1023+
format("?62666666121266666612", &QueryParams::None, options);
10221024
}
10231025

10241026
#[test]

src/tokenizer.rs

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -301,12 +301,16 @@ fn get_indexed_placeholder_token(input: &str) -> IResult<&str, Token<'_>> {
301301
Token {
302302
kind: TokenKind::Placeholder,
303303
value: token,
304-
key: if token.starts_with('$') {
305-
let index = token[1..].parse::<usize>().unwrap();
306-
Some(PlaceholderKind::OneIndexed(index))
307-
} else if token.len() > 1 {
308-
let index = token[1..].parse::<usize>().unwrap();
309-
Some(PlaceholderKind::ZeroIndexed(index))
304+
key: if token.len() > 1 {
305+
if let Ok(index) = token[1..].parse::<usize>() {
306+
Some(if token.starts_with('$') {
307+
PlaceholderKind::OneIndexed(index)
308+
} else {
309+
PlaceholderKind::ZeroIndexed(index)
310+
})
311+
} else {
312+
None
313+
}
310314
} else {
311315
None
312316
},

0 commit comments

Comments
 (0)