Skip to content

Commit 6640170

Browse files
committed
Parse JSON number more precisely.
1 parent d4fc2ca commit 6640170

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

json_parser.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,8 +305,13 @@ static double __evaluate_json_number(const char *integer,
305305
{
306306
if (exp > 0)
307307
num *= pow(10, exp);
308-
else
308+
else if (exp >= -308)
309309
num /= pow(10, -exp);
310+
else
311+
{
312+
num /= pow(10, -exp - 308);
313+
num /= 1.0e308;
314+
}
310315
}
311316

312317
return sign ? -num : num;

0 commit comments

Comments
 (0)