Fix #104 ParseNumberHandler fails on 32-bit

Use a tighter bound.
This commit is contained in:
miloyip 2014-08-13 14:16:29 +08:00
parent 143bb83e74
commit 126e62ed25

View File

@ -775,7 +775,7 @@ private:
if (useDouble) { if (useDouble) {
d = (double)i64; d = (double)i64;
while (s.Peek() >= '0' && s.Peek() <= '9') { while (s.Peek() >= '0' && s.Peek() <= '9') {
if (d >= 1E307) if (d >= 1.7976931348623157e307) // DBL_MAX / 10.0
RAPIDJSON_PARSE_ERROR(kParseErrorNumberTooBig, s.Tell()); RAPIDJSON_PARSE_ERROR(kParseErrorNumberTooBig, s.Tell());
d = d * 10 + (s.Take() - '0'); d = d * 10 + (s.Take() - '0');
} }