Prechádzať zdrojové kódy

fix obscure bug in strtoull reading the highest 16 possible values

Rich Felker 13 rokov pred
rodič
commit
b4a07bb469
1 zmenil súbory, kde vykonal 1 pridanie a 1 odobranie
  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;