fix obscure bug in strtoull reading the highest 16 possible values

This commit is contained in:
Rich Felker 2012-03-02 12:48:17 -05:00
parent 9fcecd7b34
commit b4a07bb469
1 changed files with 1 additions and 1 deletions

View File

@ -87,7 +87,7 @@ int __intparse(struct intparse *v, const void *buf, size_t n)
v->val = v->val * b + d;
if (!n) return 1;
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;
else
v->err = ERANGE;