cvs: php-src(PHP_5_2) /ext/json JSON_parser.c
| From: | Ilia Alshanetsky | Date: | Wed, 13 Jun 2007 17:56:41 +0000 |
| Subject: | cvs: php-src(PHP_5_2) /ext/json JSON_parser.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-44803@lists.php.net to get a copy of this message | ||
iliaa Wed Jun 13 17:56:41 2007 UTC
Modified files: (Branch: PHP_5_2)
/php-src/ext/json JSON_parser.c
Log:
Handle very small longs via double
http://cvs.php.net/viewvc.cgi/php-src/ext/json/JSON_parser.c?r1=1.1.2.11&r2=1.1.2.12&diff_format=u
Index: php-src/ext/json/JSON_parser.c
diff -u php-src/ext/json/JSON_parser.c:1.1.2.11 php-src/ext/json/JSON_parser.c:1.1.2.12
--- php-src/ext/json/JSON_parser.c:1.1.2.11 Wed Jun 13 17:07:58 2007
+++ php-src/ext/json/JSON_parser.c Wed Jun 13 17:56:41 2007
@@ -285,7 +285,7 @@
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);