[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/json/json.c trunk/ext/json/json.c

2010-07-06 Thread Scott MacVicar
scottmac Tue, 06 Jul 2010 17:01:30 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=301028

Log:
Fix bug #52262 - Invalid UTF-8 documents don't set an error code when they fail 
to decode.

Bug: http://bugs.php.net/52262 (Assigned) json_decode reports no error while 
returning NULL
  
Changed paths:
U   php/php-src/branches/PHP_5_3/NEWS
U   php/php-src/branches/PHP_5_3/ext/json/json.c
U   php/php-src/trunk/ext/json/json.c

Modified: php/php-src/branches/PHP_5_3/NEWS
===
--- php/php-src/branches/PHP_5_3/NEWS   2010-07-06 16:09:43 UTC (rev 301027)
+++ php/php-src/branches/PHP_5_3/NEWS   2010-07-06 17:01:30 UTC (rev 301028)
@@ -1,6 +1,8 @@
 PHPNEWS
 |||
 ?? Jul 2010, PHP 5.3.3 RC3
+- Fixed bug #52262 (json_decode() shows no errors on invalid UTF-8).
+  (Scott)
 - Fixed bug #52240 (hash_copy() does not copy the HMAC key, causes wrong
   results and PHP crashes). (Felipe)
 - Fixed bug #52238 (Crash when an Exception occured in iterator_to_array).

Modified: php/php-src/branches/PHP_5_3/ext/json/json.c
===
--- php/php-src/branches/PHP_5_3/ext/json/json.c2010-07-06 16:09:43 UTC 
(rev 301027)
+++ php/php-src/branches/PHP_5_3/ext/json/json.c2010-07-06 17:01:30 UTC 
(rev 301028)
@@ -500,6 +500,7 @@
if (utf16) {
efree(utf16);
}
+   JSON_G(error_code) = PHP_JSON_ERROR_UTF8;
RETURN_NULL();
}


Modified: php/php-src/trunk/ext/json/json.c
===
--- php/php-src/trunk/ext/json/json.c   2010-07-06 16:09:43 UTC (rev 301027)
+++ php/php-src/trunk/ext/json/json.c   2010-07-06 17:01:30 UTC (rev 301028)
@@ -560,6 +560,7 @@
if (utf16) {
efree(utf16);
}
+   JSON_G(error_code) = PHP_JSON_ERROR_UTF8;
RETURN_NULL();
}


-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/json/json.c trunk/ext/json/json.c

2010-04-18 Thread Felipe Pena
felipe   Sun, 18 Apr 2010 18:07:27 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=298145

Log:
- Fixed bug #51590 (JSON_ERROR_UTF8 is undefined)

Bug: http://bugs.php.net/51590 (Open) JSON_ERROR_UTF8 is undefined
  
Changed paths:
U   php/php-src/branches/PHP_5_3/NEWS
U   php/php-src/branches/PHP_5_3/ext/json/json.c
U   php/php-src/trunk/ext/json/json.c

Modified: php/php-src/branches/PHP_5_3/NEWS
===
--- php/php-src/branches/PHP_5_3/NEWS   2010-04-18 18:00:06 UTC (rev 298144)
+++ php/php-src/branches/PHP_5_3/NEWS   2010-04-18 18:07:27 UTC (rev 298145)
@@ -17,7 +17,8 @@
 - Fixed a NULL pointer dereference when processing invalid XML-RPC
   requests (Fixes CVE-2010-0397, bug #51288). (Raphael Geissert)

-- Fixed Bug #51577 (Uninitialized memory reference with oci_bind_array_by_name)
+- Fixed bug #51590 (JSON_ERROR_UTF8 is undefined). (Felipe)
+- Fixed bug #51577 (Uninitialized memory reference with oci_bind_array_by_name)
   (Oracle Corp.)
 - Fixed bug #51445 (var_dump() invalid/slow *RECURSION* detection). (Felipe)
 - Fixed bug #51394 (Error line reported incorrectly if error handler throws an

Modified: php/php-src/branches/PHP_5_3/ext/json/json.c
===
--- php/php-src/branches/PHP_5_3/ext/json/json.c2010-04-18 18:00:06 UTC 
(rev 298144)
+++ php/php-src/branches/PHP_5_3/ext/json/json.c2010-04-18 18:07:27 UTC 
(rev 298145)
@@ -87,6 +87,7 @@
REGISTER_LONG_CONSTANT(JSON_ERROR_STATE_MISMATCH, 
PHP_JSON_ERROR_STATE_MISMATCH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT(JSON_ERROR_CTRL_CHAR, 
PHP_JSON_ERROR_CTRL_CHAR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT(JSON_ERROR_SYNTAX, PHP_JSON_ERROR_SYNTAX, 
CONST_CS | CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(JSON_ERROR_UTF8, PHP_JSON_ERROR_UTF8, CONST_CS 
| CONST_PERSISTENT);

return SUCCESS;
 }

Modified: php/php-src/trunk/ext/json/json.c
===
--- php/php-src/trunk/ext/json/json.c   2010-04-18 18:00:06 UTC (rev 298144)
+++ php/php-src/trunk/ext/json/json.c   2010-04-18 18:07:27 UTC (rev 298145)
@@ -87,6 +87,7 @@
REGISTER_LONG_CONSTANT(JSON_ERROR_STATE_MISMATCH, 
PHP_JSON_ERROR_STATE_MISMATCH, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT(JSON_ERROR_CTRL_CHAR, 
PHP_JSON_ERROR_CTRL_CHAR, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT(JSON_ERROR_SYNTAX, PHP_JSON_ERROR_SYNTAX, 
CONST_CS | CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(JSON_ERROR_UTF8, PHP_JSON_ERROR_UTF8, CONST_CS 
| CONST_PERSISTENT);

return SUCCESS;
 }

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php