]> granicus.if.org Git - php/commitdiff
MFB: Handle very small longs via double
authorIlia Alshanetsky <iliaa@php.net>
Wed, 13 Jun 2007 17:57:10 +0000 (17:57 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Wed, 13 Jun 2007 17:57:10 +0000 (17:57 +0000)
ext/json/JSON_parser.c

index 64a90500da9b77da439beb211efea71d40a9f78a..1193554797f06e21e599b17792053419b5ab6270 100644 (file)
@@ -285,7 +285,7 @@ static void json_create_zval(zval **z, smart_str *buf, int type TSRMLS_DC)
     if (type == IS_LONG)
     {
        double d = zend_strtod(buf->c, NULL);
-       if (d > LONG_MAX) {
+       if (d > LONG_MAX || d < -LONG_MAX) {
                ZVAL_DOUBLE(*z, d);
        } else {
                ZVAL_LONG(*z, (long)d);