mirror of
https://github.com/odin-lang/Odin.git
synced 2026-01-06 13:07:59 +00:00
Fix a range check in int_atoi in core:math/big.
The check seems to have been assuming that rune comparisons are unsigned, but they're signed. This was causing an assertion failure for certain input characters (anything with an ASCII value less than '+'/43).
This commit is contained in:
@@ -280,7 +280,7 @@ int_atoi :: proc(res: ^Int, input: string, radix := i8(10), allocator := context
|
||||
}
|
||||
|
||||
pos := ch - '+'
|
||||
if RADIX_TABLE_REVERSE_SIZE <= pos {
|
||||
if RADIX_TABLE_REVERSE_SIZE <= u32(pos) {
|
||||
break
|
||||
}
|
||||
y := RADIX_TABLE_REVERSE[pos]
|
||||
|
||||
Reference in New Issue
Block a user