Skip to content

Commit 2fb838c

Browse files
committed
Fix UB in js_dtoa1
1 parent fad030b commit 2fb838c

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

quickjs.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11110,8 +11110,10 @@ static void js_dtoa1(char (*buf)[JS_DTOA_BUF_SIZE], double d,
1111011110
} else if (flags == JS_DTOA_VAR_FORMAT) {
1111111111
int64_t i64;
1111211112
char buf1[70], *ptr;
11113+
if (d > (double)MAX_SAFE_INTEGER || d < (double)-MAX_SAFE_INTEGER)
11114+
goto generic_conv;
1111311115
i64 = (int64_t)d;
11114-
if (d != i64 || i64 > MAX_SAFE_INTEGER || i64 < -MAX_SAFE_INTEGER)
11116+
if (d != i64)
1111511117
goto generic_conv;
1111611118
/* fast path for integers */
1111711119
ptr = i64toa(buf1 + sizeof(buf1), i64, radix);

0 commit comments

Comments
 (0)