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:
1 parent
142dd58b27
commit
d402b7408d
1 file changed
+1
-1
@@ -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