fix obscure bug in strtoull reading the highest 16 possible values
This commit is contained in:
parent
9fcecd7b34
commit
b4a07bb469
1 changed files with 1 additions and 1 deletions
|
|
@ -87,7 +87,7 @@ int __intparse(struct intparse *v, const void *buf, size_t n)
|
||||||
v->val = v->val * b + d;
|
v->val = v->val * b + d;
|
||||||
if (!n) return 1;
|
if (!n) return 1;
|
||||||
if (d >= b) goto finished;
|
if (d >= b) goto finished;
|
||||||
if (v->val < (UINTMAX_MAX-d)/b)
|
if (v->val <= (UINTMAX_MAX-d)/b)
|
||||||
v->val = v->val * b + d;
|
v->val = v->val * b + d;
|
||||||
else
|
else
|
||||||
v->err = ERANGE;
|
v->err = ERANGE;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue