Skip to content

Commit 0f6e80a

Browse files
committed
Fix __builtin_{smulll,saddll}_overflow() usage
- Use a variable of type long long variable not int64_t as they may be different sizes. - Fixes "warning: incompatible pointer types passing 'int64_t *' (aka 'long *') to parameter of type 'long long *' [-Wincompatible-pointer-types]"
1 parent 2e6971e commit 0f6e80a

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

CoreFoundation/String.subproj/CFString.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6442,9 +6442,9 @@ reswtch:switch (ch) {
64426442
return true;
64436443
}
64446444
case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': {
6445-
int64_t number = 0;
6445+
long long number = 0;
64466446
do {
6447-
if (__builtin_smulll_overflow(number, 10, &number) || __builtin_saddll_overflow(number, ch - '0', &number)) {
6447+
if (__builtin_smulll_overflow(number, 10, &number) || __builtin_saddll_overflow(number, ch - '0', &number) || number > INT64_MAX) {
64486448
if (errorPtr) *errorPtr = __CFCreateOverflowError();
64496449
return false;
64506450
}

0 commit comments

Comments
 (0)