atoi: Prevent (unsigned) overflow
This commit is contained in:
@@ -150,6 +150,12 @@ atoi:
|
|||||||
.calcNum_cnt:
|
.calcNum_cnt:
|
||||||
imul r9
|
imul r9
|
||||||
|
|
||||||
|
mov rdx, -1
|
||||||
|
sub rdx, r10
|
||||||
|
cmp rax, rdx
|
||||||
|
;TODO: Add signed checks
|
||||||
|
ja .overflow
|
||||||
|
|
||||||
add r10, rax
|
add r10, rax
|
||||||
dec rdi
|
dec rdi
|
||||||
inc r8
|
inc r8
|
||||||
@@ -159,6 +165,10 @@ atoi:
|
|||||||
|
|
||||||
.wrapup_neg:
|
.wrapup_neg:
|
||||||
neg r10
|
neg r10
|
||||||
|
jmp .quit
|
||||||
|
|
||||||
|
.overflow:
|
||||||
|
xor r10, r10
|
||||||
|
|
||||||
.quit:
|
.quit:
|
||||||
mov rax, r10
|
mov rax, r10
|
||||||
|
Reference in New Issue
Block a user