浏览代码

fix obscure bug in strtoull reading the highest 16 possible values

Rich Felker 13 年之前
父节点
当前提交
b4a07bb469
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      src/internal/intparse.c

+ 1 - 1
src/internal/intparse.c

@@ -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;