[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/ext/spl/spl_array.c branches/PHP_5_3/ext/spl/tests/bug61347.phpt branches/PHP_5_4/NEWS branches/PHP_5_4/ext/spl/spl_array.c branches
laruence Sun, 11 Mar 2012 08:27:55 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324093 Log: Fixed bug #61347 (inconsist isset behavior of Arrayobject) Bug: https://bugs.php.net/61347 (Open) inconsist isset behavior of Arrayobject Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/spl/spl_array.c A php/php-src/branches/PHP_5_3/ext/spl/tests/bug61347.phpt U php/php-src/branches/PHP_5_4/NEWS U php/php-src/branches/PHP_5_4/ext/spl/spl_array.c A php/php-src/branches/PHP_5_4/ext/spl/tests/bug61347.phpt U php/php-src/trunk/ext/spl/spl_array.c A php/php-src/trunk/ext/spl/tests/bug61347.phpt Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2012-03-11 04:20:25 UTC (rev 324092) +++ php/php-src/branches/PHP_5_3/NEWS 2012-03-11 08:27:55 UTC (rev 324093) @@ -66,6 +66,7 @@ - SPL . Fixed bug #61326 (ArrayObject comparison). (Gustavo) + . Fixed bug #61347 (inconsist isset behavior of Arrayobject). (Laruence) - SQLite3 extension: . Add createCollation() method. (Brad Dewar) Modified: php/php-src/branches/PHP_5_3/ext/spl/spl_array.c === --- php/php-src/branches/PHP_5_3/ext/spl/spl_array.c 2012-03-11 04:20:25 UTC (rev 324092) +++ php/php-src/branches/PHP_5_3/ext/spl/spl_array.c 2012-03-11 08:27:55 UTC (rev 324093) @@ -578,49 +578,46 @@ } switch(Z_TYPE_P(offset)) { - case IS_STRING: - if (check_empty) { - if (zend_symtable_find(spl_array_get_hash_table(intern, 0 TSRMLS_CC), Z_STRVAL_P(offset), Z_STRLEN_P(offset)+1, (void **) tmp) != FAILURE) { -switch (check_empty) { - case 0: - return Z_TYPE_PP(tmp) != IS_NULL; - case 2: - return 1; - default: - return zend_is_true(*tmp); + case IS_STRING: + { +HashTable *ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); +if (zend_symtable_find(ht, Z_STRVAL_P(offset), Z_STRLEN_P(offset)+1, (void **) tmp) != FAILURE) { + switch (check_empty) { + case 0: + return Z_TYPE_PP(tmp) != IS_NULL; + case 2: + return 1; + default: + return zend_is_true(*tmp); + } } +return 0; } - return 0; - } else { - return zend_symtable_exists(spl_array_get_hash_table(intern, 0 TSRMLS_CC), Z_STRVAL_P(offset), Z_STRLEN_P(offset)+1); - } - case IS_DOUBLE: - case IS_RESOURCE: - case IS_BOOL: - case IS_LONG: - if (offset-type == IS_DOUBLE) { - index = (long)Z_DVAL_P(offset); - } else { - index = Z_LVAL_P(offset); - } - if (check_empty) { - HashTable *ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); - if (zend_hash_index_find(ht, index, (void **)tmp) != FAILURE) { -switch (check_empty) { - case 0: - return Z_TYPE_PP(tmp) != IS_NULL; - case 2: - return 1; - default: - return zend_is_true(*tmp); + case IS_DOUBLE: + case IS_RESOURCE: + case IS_BOOL: + case IS_LONG: + { +HashTable *ht = spl_array_get_hash_table(intern, 0 TSRMLS_CC); +if (offset-type == IS_DOUBLE) { + index = (long)Z_DVAL_P(offset); +} else { + index = Z_LVAL_P(offset); } +if (zend_hash_index_find(ht, index, (void **)tmp) != FAILURE) { + switch (check_empty) { + case 0: + return Z_TYPE_PP(tmp) != IS_NULL; + case 2: + return 1; + default: + return zend_is_true(*tmp); + } +} +return 0; } - return 0; - } else { - return zend_hash_index_exists(spl_array_get_hash_table(intern, 0 TSRMLS_CC), index); - } - default: - zend_error(E_WARNING, Illegal offset type); + default: + zend_error(E_WARNING, Illegal offset type); } return 0; } /* }}} */ Added: php/php-src/branches/PHP_5_3/ext/spl/tests/bug61347.phpt === --- php/php-src/branches/PHP_5_3/ext/spl/tests/bug61347.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/ext/spl/tests/bug61347.phpt 2012-03-11 08:27:55 UTC (rev 324093) @@ -0,0 +1,40 @@ +--TEST-- +Bug #61347 (inconsist isset behavior of Arrayobject) +--FILE-- +?php +$a = array('b' = NULL, 37 = NULL); +var_dump(isset($a['b'])); //false + +$b = new ArrayObject($a); +var_dump(isset($b['b'])); //false +var_dump(isset($b[37])); //false +var_dump(isset($b['no_exists'])); //false +var_dump(empty($b['b'])); //true +var_dump(empty($b[37])); //true + +var_dump(array_key_exists('b', $b)); //true +var_dump($b['b']); + +$a = array('b' = '', 37 = false); +$b = new ArrayObject($a); +var_dump(isset($b['b'])); //true +var_dump(isset($b[37])); //true +var_dump(isset($b['no_exists'])); //false +var_dump(empty($b['b'])); //true +var_dump(empty($b[37])); //true + + +--EXPECT-- +bool(false) +bool(false) +bool(false) +bool(false) +bool(true) +bool(true) +bool(true) +NULL +bool(true) +bool(true) +bool(false) +bool(true)
[PHP-CVS] svn: /php/php-src/branches/PHP_5_3/ext/spl/tests/ bug60082.phpt
laruence Sun, 11 Mar 2012 08:30:30 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324094 Log: Fix test Changed paths: U php/php-src/branches/PHP_5_3/ext/spl/tests/bug60082.phpt Modified: php/php-src/branches/PHP_5_3/ext/spl/tests/bug60082.phpt === --- php/php-src/branches/PHP_5_3/ext/spl/tests/bug60082.phpt2012-03-11 08:27:55 UTC (rev 324093) +++ php/php-src/branches/PHP_5_3/ext/spl/tests/bug60082.phpt2012-03-11 08:30:30 UTC (rev 324094) @@ -16,4 +16,6 @@ ===DONE=== ?php exit(0); ? --EXPECTF-- +Deprecated: Call-time pass-by-reference has been deprecated in %sbug60082.php on line %d + Fatal error: main(): Nesting level too deep - recursive dependency? in %sbug60082.php on line %d -- 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 PHP_5_4/NEWS
laruence Sun, 11 Mar 2012 08:34:06 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324095 Log: Oops, sorry for my poor english Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_4/NEWS Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2012-03-11 08:30:30 UTC (rev 324094) +++ php/php-src/branches/PHP_5_3/NEWS 2012-03-11 08:34:06 UTC (rev 324095) @@ -66,7 +66,7 @@ - SPL . Fixed bug #61326 (ArrayObject comparison). (Gustavo) - . Fixed bug #61347 (inconsist isset behavior of Arrayobject). (Laruence) + . Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence) - SQLite3 extension: . Add createCollation() method. (Brad Dewar) Modified: php/php-src/branches/PHP_5_4/NEWS === --- php/php-src/branches/PHP_5_4/NEWS 2012-03-11 08:30:30 UTC (rev 324094) +++ php/php-src/branches/PHP_5_4/NEWS 2012-03-11 08:34:06 UTC (rev 324095) @@ -73,7 +73,7 @@ ReflectionMethod::invokeArgs()). (Laruence) - SPL: - . Fixed bug #61347 (inconsist isset behavior of Arrayobject). (Laruence) + . Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence) - Standard: . Fixed memory leak in substr_replace. (Pierrick) -- 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_4/sapi/cli/CREDITS branches/PHP_5_4/sapi/cli/php_cli_server.c trunk/sapi/cli/CREDITS trunk/sapi/cli/php_cli_server.c
laruence Sun, 11 Mar 2012 08:41:40 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324097 Log: Add Moriyoshi Koizumi and I to the cli SAPI credits Changed paths: U php/php-src/branches/PHP_5_4/sapi/cli/CREDITS U php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c U php/php-src/trunk/sapi/cli/CREDITS U php/php-src/trunk/sapi/cli/php_cli_server.c Modified: php/php-src/branches/PHP_5_4/sapi/cli/CREDITS === --- php/php-src/branches/PHP_5_4/sapi/cli/CREDITS 2012-03-11 08:40:25 UTC (rev 324096) +++ php/php-src/branches/PHP_5_4/sapi/cli/CREDITS 2012-03-11 08:41:40 UTC (rev 324097) @@ -1,2 +1,2 @@ CLI -Edin Kadribasic, Marcus Boerger, Johannes Schlueter +Edin Kadribasic, Marcus Boerger, Johannes Schlueter, Moriyoshi Koizumi, Xinchen Hui Modified: php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c === --- php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c 2012-03-11 08:40:25 UTC (rev 324096) +++ php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c 2012-03-11 08:41:40 UTC (rev 324097) @@ -13,6 +13,7 @@ | lice...@php.net so we can mail you a copy immediately. | +--+ | Author: Moriyoshi Koizumi moriyo...@php.net| + | Xinchen Hui larue...@php.net | +--+ */ Modified: php/php-src/trunk/sapi/cli/CREDITS === --- php/php-src/trunk/sapi/cli/CREDITS 2012-03-11 08:40:25 UTC (rev 324096) +++ php/php-src/trunk/sapi/cli/CREDITS 2012-03-11 08:41:40 UTC (rev 324097) @@ -1,2 +1,2 @@ CLI -Edin Kadribasic, Marcus Boerger, Johannes Schlueter +Edin Kadribasic, Marcus Boerger, Johannes Schlueter, Moriyoshi Koizumi, Xinchen Hui Modified: php/php-src/trunk/sapi/cli/php_cli_server.c === --- php/php-src/trunk/sapi/cli/php_cli_server.c 2012-03-11 08:40:25 UTC (rev 324096) +++ php/php-src/trunk/sapi/cli/php_cli_server.c 2012-03-11 08:41:40 UTC (rev 324097) @@ -13,6 +13,7 @@ | lice...@php.net so we can mail you a copy immediately. | +--+ | Author: Moriyoshi Koizumi moriyo...@php.net| + | Xinchen Hui larue...@php.net | +--+ */ -- 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_4/NEWS branches/PHP_5_4/sapi/cli/php_cli_server.c branches/PHP_5_4/sapi/cli/tests/php_cli_server_017.phpt trunk/sapi/cli/php_cli_server.c trunk/sapi/cli/tes
laruence Sun, 11 Mar 2012 08:56:14 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324098 Log: Implemented FR #60850 (Built in web server does not set $_SERVER['SCRIPT_FILENAME'] when using router) Bug: https://bugs.php.net/60850 (Open) Built in web server does not set $_SERVER['SCRIPT_FILENAME'] when using router Changed paths: U php/php-src/branches/PHP_5_4/NEWS U php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c A php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_017.phpt U php/php-src/trunk/sapi/cli/php_cli_server.c A php/php-src/trunk/sapi/cli/tests/php_cli_server_017.phpt Modified: php/php-src/branches/PHP_5_4/NEWS === --- php/php-src/branches/PHP_5_4/NEWS 2012-03-11 08:41:40 UTC (rev 324097) +++ php/php-src/branches/PHP_5_4/NEWS 2012-03-11 08:56:14 UTC (rev 324098) @@ -4,6 +4,8 @@ - CLI Server: . Connection: close instead of Connection: closed (Gustavo) + . Implemented FR #60850 (Built in web server does not set +$_SERVER['SCRIPT_FILENAME'] when using router). (Laruence) - Core: . Fixed bug #61225 (Incorect lexing of 0b00*+NUM). (Pierrick) Modified: php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c === --- php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c 2012-03-11 08:41:40 UTC (rev 324097) +++ php/php-src/branches/PHP_5_4/sapi/cli/php_cli_server.c 2012-03-11 08:56:14 UTC (rev 324098) @@ -599,6 +599,11 @@ sapi_cli_server_register_variable(track_vars_array, SCRIPT_NAME, client-request.vpath TSRMLS_CC); if (SG(request_info).path_translated) { sapi_cli_server_register_variable(track_vars_array, SCRIPT_FILENAME, SG(request_info).path_translated TSRMLS_CC); + } else if (client-server-router) { + char *temp; + spprintf(temp, 0, %s/%s, client-server-document_root, client-server-router); + sapi_cli_server_register_variable(track_vars_array, SCRIPT_FILENAME, temp TSRMLS_CC); + efree(temp); } if (client-request.path_info) { sapi_cli_server_register_variable(track_vars_array, PATH_INFO, client-request.path_info TSRMLS_CC); Added: php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_017.phpt === --- php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_017.phpt (rev 0) +++ php/php-src/branches/PHP_5_4/sapi/cli/tests/php_cli_server_017.phpt 2012-03-11 08:56:14 UTC (rev 324098) @@ -0,0 +1,44 @@ +--TEST-- +Implement Req #60850 (Built in web server does not set $_SERVER['SCRIPT_FILENAME'] when using router) +--SKIPIF-- +?php +include skipif.inc; +? +--FILE-- +?php +include php_cli_server.inc; +php_cli_server_start(PHP +var_dump(\$_SERVER['SCRIPT_FILENAME']); +PHP +); + +list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS); +$port = intval($port)?:80; + +$fp = fsockopen($host, $port, $errno, $errstr, 0.5); +if (!$fp) { + die(connect failed); +} + +if(fwrite($fp, HEADER +POST / HTTP/1.1 +Host: {$host} + + +HEADER +)) { + while (!feof($fp)) { + echo fgets($fp); + } +} + +fclose($fp); +? +--EXPECTF-- +HTTP/1.1 200 OK +Host: %s +Connection: close +X-Powered-By: %s +Content-type: text/html + +string(%d) %s/tests/index.php Modified: php/php-src/trunk/sapi/cli/php_cli_server.c === --- php/php-src/trunk/sapi/cli/php_cli_server.c 2012-03-11 08:41:40 UTC (rev 324097) +++ php/php-src/trunk/sapi/cli/php_cli_server.c 2012-03-11 08:56:14 UTC (rev 324098) @@ -599,6 +599,11 @@ sapi_cli_server_register_variable(track_vars_array, SCRIPT_NAME, client-request.vpath TSRMLS_CC); if (SG(request_info).path_translated) { sapi_cli_server_register_variable(track_vars_array, SCRIPT_FILENAME, SG(request_info).path_translated TSRMLS_CC); + } else if (client-server-router) { + char *temp; + spprintf(temp, 0, %s/%s, client-server-document_root, client-server-router); + sapi_cli_server_register_variable(track_vars_array, SCRIPT_FILENAME, temp TSRMLS_CC); + efree(temp); } if (client-request.path_info) { sapi_cli_server_register_variable(track_vars_array, PATH_INFO, client-request.path_info TSRMLS_CC); Added: php/php-src/trunk/sapi/cli/tests/php_cli_server_017.phpt === --- php/php-src/trunk/sapi/cli/tests/php_cli_server_017.phpt (rev 0) +++ php/php-src/trunk/sapi/cli/tests/php_cli_server_017.phpt2012-03-11 08:56:14 UTC (rev 324098) @@ -0,0 +1,44 @@ +--TEST-- +Implement Req #60850 (Built in web server does not set
[PHP-CVS] svn: /php/php-src/branches/ PHP_5_3/NEWS PHP_5_4/NEWS
laruence Sun, 11 Mar 2012 09:02:00 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324099 Log: Re-order them according to README.SVN-RULES Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_4/NEWS Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2012-03-11 08:56:14 UTC (rev 324098) +++ php/php-src/branches/PHP_5_3/NEWS 2012-03-11 09:02:00 UTC (rev 324099) @@ -38,10 +38,10 @@ . Fixed bug #61003 (mysql_stat() require a valid connection). (Johannes). - PDO_mysql + . Fixed bug #61194 (PDO should export compression flag with myslqnd). +(Johannes) . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't always work). (Johannes) - . Fixed bug #61194 (PDO should export compression flag with myslqnd). -(Johannes) - PDO_pgsql . Fixed bug #61267 (pdo_pgsql's PDO::exec() returns the number of SELECTed @@ -59,14 +59,14 @@ - SOAP . Fixed basic HTTP authentication for WSDL sub requests. (Dmitry) + . Fixed bug #60887 (SoapClient ignores user_agent option and sends no +User-Agent header). (carloschilazo at gmail dot com) . Fixed bug #60842, #51775 (Chunked response parsing error when chunksize length line is 10 bytes). (Ilia) - . Fixed bug #60887 (SoapClient ignores user_agent option and sends no -User-Agent header). (carloschilazo at gmail dot com) - SPL + . Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence) . Fixed bug #61326 (ArrayObject comparison). (Gustavo) - . Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence) - SQLite3 extension: . Add createCollation() method. (Brad Dewar) @@ -86,20 +86,20 @@ (Gustavo) . Fixed bug #61115 (stream related segfault on fatal error in php_stream_context_link). (Gustavo) - . Fixed bug #60106 (stream_socket_server silently truncates long unix -socket paths). (Ilia) - . Further fix for bug #60455 (stream_get_line misbehaves if EOF is not -detected together with the last read). (Gustavo) . Fixed bug #60817 (stream_get_line() reads from stream even when there is already sufficient data buffered). stream_get_line() now behaves more like fgets(), as is documented. (Gustavo) + . Further fix for bug #60455 (stream_get_line misbehaves if EOF is not +detected together with the last read). (Gustavo) + . Fixed bug #60106 (stream_socket_server silently truncates long unix +socket paths). (Ilia) - Tidy: . Fixed bug #54682 (tidy null pointer dereference). (Tony, David Soria Parra) - XMLRPC: + . Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary variable). (Nikita Popov) . Fixed bug #61097 (Memory leak in xmlrpc functions copying zvals). (Nikic) - . Fixed bug #61264 (xmlrpc_parse_method_descriptions leaks temporary variable). (Nikita Popov) - Zlib: . Fixed bug #61139 (gzopen leaks when specifying invalid mode). (Nikic) Modified: php/php-src/branches/PHP_5_4/NEWS === --- php/php-src/branches/PHP_5_4/NEWS 2012-03-11 08:56:14 UTC (rev 324098) +++ php/php-src/branches/PHP_5_4/NEWS 2012-03-11 09:02:00 UTC (rev 324099) @@ -3,9 +3,9 @@ ?? ??? 2012, PHP 5.4.1 RC1 - CLI Server: - . Connection: close instead of Connection: closed (Gustavo) . Implemented FR #60850 (Built in web server does not set $_SERVER['SCRIPT_FILENAME'] when using router). (Laruence) + . Connection: close instead of Connection: closed (Gustavo) - Core: . Fixed bug #61225 (Incorect lexing of 0b00*+NUM). (Pierrick) @@ -51,20 +51,20 @@ SessionHandler::write()). (Ilia) - SOAP + . Fixed bug #60887 (SoapClient ignores user_agent option and sends no +User-Agent header). (carloschilazo at gmail dot com) . Fixed bug #60842, #51775 (Chunked response parsing error when chunksize length line is 10 bytes). (Ilia) - . Fixed bug #60887 (SoapClient ignores user_agent option and sends no -User-Agent header). (carloschilazo at gmail dot com) - PDO . Fixed bug #61292 (Segfault while calling a method on an overloaded PDO object). (Laruence) - PDO_mysql + . Fixed bug #61194 (PDO should export compression flag with myslqnd). +(Johannes) . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't always work). (Johannes) - . Fixed bug #61194 (PDO should export compression flag with myslqnd). -(Johannes) - Phar . Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL -- 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
laruence Sun, 11 Mar 2012 09:06:12 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324100 Log: Sorry for wrong order again. Changed paths: U php/php-src/branches/PHP_5_3/NEWS Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2012-03-11 09:02:00 UTC (rev 324099) +++ php/php-src/branches/PHP_5_3/NEWS 2012-03-11 09:06:12 UTC (rev 324100) @@ -38,10 +38,10 @@ . Fixed bug #61003 (mysql_stat() require a valid connection). (Johannes). - PDO_mysql + . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't +always work). (Johannes) . Fixed bug #61194 (PDO should export compression flag with myslqnd). (Johannes) - . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't -always work). (Johannes) - PDO_pgsql . Fixed bug #61267 (pdo_pgsql's PDO::exec() returns the number of SELECTed -- 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_4/ NEWS
laruence Sun, 11 Mar 2012 09:07:02 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324101 Log: Same wrong order here Changed paths: U php/php-src/branches/PHP_5_4/NEWS Modified: php/php-src/branches/PHP_5_4/NEWS === --- php/php-src/branches/PHP_5_4/NEWS 2012-03-11 09:06:12 UTC (rev 324100) +++ php/php-src/branches/PHP_5_4/NEWS 2012-03-11 09:07:02 UTC (rev 324101) @@ -61,10 +61,10 @@ object). (Laruence) - PDO_mysql + . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't +always work). (Johannes) . Fixed bug #61194 (PDO should export compression flag with myslqnd). (Johannes) - . Fixed bug #61207 (PDO::nextRowset() after a multi-statement query doesn't -always work). (Johannes) - Phar . Fixed bug #61184 (Phar::webPhar() generates headers with trailing NUL -- 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/readline/readline.c branches/PHP_5_4/NEWS branches/PHP_5_4/ext/readline/readline.c trunk/ext/readline/readline.c
laruence Sun, 11 Mar 2012 09:19:38 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324104 Log: Fixed bug #61088 (Memory leak in readline_callback_handler_install). Bug: https://bugs.php.net/61088 (Assigned) Memory leak in readline_callback_handler_install Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/readline/readline.c U php/php-src/branches/PHP_5_4/NEWS U php/php-src/branches/PHP_5_4/ext/readline/readline.c U php/php-src/trunk/ext/readline/readline.c Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2012-03-11 09:12:25 UTC (rev 324103) +++ php/php-src/branches/PHP_5_3/NEWS 2012-03-11 09:19:38 UTC (rev 324104) @@ -57,6 +57,10 @@ - PHP-FPM SAPI: . Fixed bug #60811 (php-fpm compilation problem). (rasmus) +- Readline: + . Fixed bug #61088 (Memory leak in readline_callback_handler_install). +(Nikic, Laruence) + - SOAP . Fixed basic HTTP authentication for WSDL sub requests. (Dmitry) . Fixed bug #60887 (SoapClient ignores user_agent option and sends no Modified: php/php-src/branches/PHP_5_3/ext/readline/readline.c === --- php/php-src/branches/PHP_5_3/ext/readline/readline.c2012-03-11 09:12:25 UTC (rev 324103) +++ php/php-src/branches/PHP_5_3/ext/readline/readline.c2012-03-11 09:19:38 UTC (rev 324104) @@ -561,9 +561,8 @@ FREE_ZVAL(_prepped_callback); } - MAKE_STD_ZVAL(_prepped_callback); - *_prepped_callback = *callback; - zval_copy_ctor(_prepped_callback); + ALLOC_ZVAL(_prepped_callback); + MAKE_COPY_ZVAL(callback, _prepped_callback); rl_callback_handler_install(prompt, php_rl_callback_handler); Modified: php/php-src/branches/PHP_5_4/NEWS === --- php/php-src/branches/PHP_5_4/NEWS 2012-03-11 09:12:25 UTC (rev 324103) +++ php/php-src/branches/PHP_5_4/NEWS 2012-03-11 09:19:38 UTC (rev 324104) @@ -46,6 +46,10 @@ . Fixed bug #60948 (mysqlnd FTBFS when -Wformat-security is enabled). (Johannes) +- Readline: + . Fixed bug #61088 (Memory leak in readline_callback_handler_install). +(Nikic, Laruence) + - Session . Fixed bug #60634 (Segmentation fault when trying to die() in SessionHandler::write()). (Ilia) Modified: php/php-src/branches/PHP_5_4/ext/readline/readline.c === --- php/php-src/branches/PHP_5_4/ext/readline/readline.c2012-03-11 09:12:25 UTC (rev 324103) +++ php/php-src/branches/PHP_5_4/ext/readline/readline.c2012-03-11 09:19:38 UTC (rev 324104) @@ -576,9 +576,8 @@ FREE_ZVAL(_prepped_callback); } - MAKE_STD_ZVAL(_prepped_callback); - *_prepped_callback = *callback; - zval_copy_ctor(_prepped_callback); + ALLOC_ZVAL(_prepped_callback); + MAKE_COPY_ZVAL(callback, _prepped_callback); rl_callback_handler_install(prompt, php_rl_callback_handler); Modified: php/php-src/trunk/ext/readline/readline.c === --- php/php-src/trunk/ext/readline/readline.c 2012-03-11 09:12:25 UTC (rev 324103) +++ php/php-src/trunk/ext/readline/readline.c 2012-03-11 09:19:38 UTC (rev 324104) @@ -576,9 +576,8 @@ FREE_ZVAL(_prepped_callback); } - MAKE_STD_ZVAL(_prepped_callback); - *_prepped_callback = *callback; - zval_copy_ctor(_prepped_callback); + ALLOC_ZVAL(_prepped_callback); + MAKE_COPY_ZVAL(callback, _prepped_callback); rl_callback_handler_install(prompt, php_rl_callback_handler); -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] svn: /php/php-src/trunk/Zend/tests/ bug60978.phpt
laruence Sun, 11 Mar 2012 14:44:07 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324106 Log: fix test Changed paths: U php/php-src/trunk/Zend/tests/bug60978.phpt Modified: php/php-src/trunk/Zend/tests/bug60978.phpt === --- php/php-src/trunk/Zend/tests/bug60978.phpt 2012-03-11 13:45:23 UTC (rev 324105) +++ php/php-src/trunk/Zend/tests/bug60978.phpt 2012-03-11 14:44:07 UTC (rev 324106) @@ -3,7 +3,7 @@ --FILE-- ?php $php = getenv('TEST_PHP_EXECUTABLE'); -exec($php . '-n -r exit(2);', $output, $exit_code); +exec($php . ' -n -r exit(2);', $output, $exit_code); echo $exit_code; ? --EXPECT-- -- 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/.gdbinit branches/PHP_5_4/.gdbinit trunk/.gdbinit
laruence Sun, 11 Mar 2012 15:12:28 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324107 Log: Fix wrong type in the marco of fetching thread globals Changed paths: U php/php-src/branches/PHP_5_3/.gdbinit U php/php-src/branches/PHP_5_4/.gdbinit U php/php-src/trunk/.gdbinit Modified: php/php-src/branches/PHP_5_3/.gdbinit === --- php/php-src/branches/PHP_5_3/.gdbinit 2012-03-11 14:44:07 UTC (rev 324106) +++ php/php-src/branches/PHP_5_3/.gdbinit 2012-03-11 15:12:28 UTC (rev 324107) @@ -1,8 +1,8 @@ define executor_globals if basic_functions_module.zts set $tsrm_ls = ts_resource_ex(0, 0) - set $eg = ((zend_executor_globals) (*((void ***) $tsrm_ls))[executor_globals_id-1]) - set $cg = ((zend_compiler_globals) (*((void ***) $tsrm_ls))[compiler_globals_id-1]) + set $eg = ((zend_executor_globals*) (*((void ***) $tsrm_ls))[executor_globals_id-1]) + set $cg = ((zend_compiler_globals*) (*((void ***) $tsrm_ls))[compiler_globals_id-1]) else set $eg = executor_globals set $cg = compiler_globals Modified: php/php-src/branches/PHP_5_4/.gdbinit === --- php/php-src/branches/PHP_5_4/.gdbinit 2012-03-11 14:44:07 UTC (rev 324106) +++ php/php-src/branches/PHP_5_4/.gdbinit 2012-03-11 15:12:28 UTC (rev 324107) @@ -1,8 +1,8 @@ define executor_globals if basic_functions_module.zts set $tsrm_ls = ts_resource_ex(0, 0) - set $eg = ((zend_executor_globals) (*((void ***) $tsrm_ls))[executor_globals_id-1]) - set $cg = ((zend_compiler_globals) (*((void ***) $tsrm_ls))[compiler_globals_id-1]) + set $eg = ((zend_executor_globals*) (*((void ***) $tsrm_ls))[executor_globals_id-1]) + set $cg = ((zend_compiler_globals*) (*((void ***) $tsrm_ls))[compiler_globals_id-1]) else set $eg = executor_globals set $cg = compiler_globals Modified: php/php-src/trunk/.gdbinit === --- php/php-src/trunk/.gdbinit 2012-03-11 14:44:07 UTC (rev 324106) +++ php/php-src/trunk/.gdbinit 2012-03-11 15:12:28 UTC (rev 324107) @@ -1,8 +1,8 @@ define executor_globals if basic_functions_module.zts set $tsrm_ls = ts_resource_ex(0, 0) - set $eg = ((zend_executor_globals) (*((void ***) $tsrm_ls))[executor_globals_id-1]) - set $cg = ((zend_compiler_globals) (*((void ***) $tsrm_ls))[compiler_globals_id-1]) + set $eg = ((zend_executor_globals*) (*((void ***) $tsrm_ls))[executor_globals_id-1]) + set $cg = ((zend_compiler_globals*) (*((void ***) $tsrm_ls))[compiler_globals_id-1]) else set $eg = executor_globals set $cg = compiler_globals -- 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/Zend/tests/bug61273.phpt branches/PHP_5_3/Zend/zend_execute_API.c branches/PHP_5_4/NEWS branches/PHP_5_4/Zend/tests/bug61273.phpt br
laruence Sun, 11 Mar 2012 15:28:31 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324108 Log: Fixed bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes) Bug: https://bugs.php.net/61273 (Assigned) call_user_func_array with more than 16333 arguments leaks / crashes Changed paths: U php/php-src/branches/PHP_5_3/NEWS A php/php-src/branches/PHP_5_3/Zend/tests/bug61273.phpt U php/php-src/branches/PHP_5_3/Zend/zend_execute_API.c U php/php-src/branches/PHP_5_4/NEWS A php/php-src/branches/PHP_5_4/Zend/tests/bug61273.phpt U php/php-src/branches/PHP_5_4/Zend/zend_execute_API.c A php/php-src/trunk/Zend/tests/bug61273.phpt U php/php-src/trunk/Zend/zend_execute_API.c Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2012-03-11 15:12:28 UTC (rev 324107) +++ php/php-src/branches/PHP_5_3/NEWS 2012-03-11 15:28:31 UTC (rev 324108) @@ -3,6 +3,8 @@ ?? ??? 2012, PHP 5.3.11 - Core: + . Fixed bug #61273 (call_user_func_array with more than 16333 arguments +leaks / crashes). (Laruence) . Fixed bug #61165 (Segfault - strip_tags()). (Laruence) . Improved max_input_vars directive to check nested variables (Dmitry). . Fixed bug #61095 (Incorect lexing of 0x00*+NUM). (Etienne) Added: php/php-src/branches/PHP_5_3/Zend/tests/bug61273.phpt === --- php/php-src/branches/PHP_5_3/Zend/tests/bug61273.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/Zend/tests/bug61273.phpt 2012-03-11 15:28:31 UTC (rev 324108) @@ -0,0 +1,15 @@ +--TEST-- +Bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes) +--FILE-- +?php +/** + * for 5.3 #define ZEND_VM_STACK_PAGE_SIZE ((64 * 1024) - 64) + * for 5.4 #define ZEND_VM_STACK_PAGE_SIZE ((16 * 1024) - 16) + * we should trick EG(argument_stack) into growing + */ +$args = array_fill(0, 64 * 1024 - 64, *); +call_user_func_array(function($a) {}, $args); +echo strval(okey); +--EXPECTF-- +Warning: Parameter 1 to {closure}() expected to be a reference, value given in %sbug61273.php on line %d +okey Modified: php/php-src/branches/PHP_5_3/Zend/zend_execute_API.c === --- php/php-src/branches/PHP_5_3/Zend/zend_execute_API.c2012-03-11 15:12:28 UTC (rev 324107) +++ php/php-src/branches/PHP_5_3/Zend/zend_execute_API.c2012-03-11 15:28:31 UTC (rev 324108) @@ -877,7 +877,7 @@ if (fci-no_separation !ARG_MAY_BE_SENT_BY_REF(EX(function_state).function, i + 1)) { - if(i) { + if (i || UNEXPECTED(UNEXPECTED(ZEND_VM_STACK_ELEMETS(EG(argument_stack)) == EG(argument_stack)-top))) { /* hack to clean up the stack */ zend_vm_stack_push_nocheck((void *) (zend_uintptr_t)i TSRMLS_CC); zend_vm_stack_clear_multiple(TSRMLS_C); Modified: php/php-src/branches/PHP_5_4/NEWS === --- php/php-src/branches/PHP_5_4/NEWS 2012-03-11 15:12:28 UTC (rev 324107) +++ php/php-src/branches/PHP_5_4/NEWS 2012-03-11 15:28:31 UTC (rev 324108) @@ -8,6 +8,8 @@ . Connection: close instead of Connection: closed (Gustavo) - Core: + . Fixed bug #61273 (call_user_func_array with more than 16333 arguments +leaks / crashes). (Laruence) . Fixed bug #61225 (Incorect lexing of 0b00*+NUM). (Pierrick) . Fixed bug #61165 (Segfault - strip_tags()). (Laruence) . Fixed bug #61106 (Segfault when using header_register_callback). (Nikita Added: php/php-src/branches/PHP_5_4/Zend/tests/bug61273.phpt === --- php/php-src/branches/PHP_5_4/Zend/tests/bug61273.phpt (rev 0) +++ php/php-src/branches/PHP_5_4/Zend/tests/bug61273.phpt 2012-03-11 15:28:31 UTC (rev 324108) @@ -0,0 +1,15 @@ +--TEST-- +Bug #61273 (call_user_func_array with more than 16333 arguments leaks / crashes) +--FILE-- +?php +/** + * for 5.3 #define ZEND_VM_STACK_PAGE_SIZE ((64 * 1024) - 64) + * for 5.4 #define ZEND_VM_STACK_PAGE_SIZE ((16 * 1024) - 16) + * we should trick EG(argument_stack) into growing + */ +$args = array_fill(0, 64 * 1024 - 64, *); +call_user_func_array(function($a) {}, $args); +echo strval(okey); +--EXPECTF-- +Warning: Parameter 1 to {closure}() expected to be a reference, value given in %sbug61273.php on line %d +okey Modified: php/php-src/branches/PHP_5_4/Zend/zend_execute_API.c === ---
[PHP-CVS] svn: /php/php-src/branches/PHP_5_3/Zend/ zend_execute_API.c
laruence Sun, 11 Mar 2012 15:31:19 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324109 Log: Typo when merging from trunk Changed paths: U php/php-src/branches/PHP_5_3/Zend/zend_execute_API.c Modified: php/php-src/branches/PHP_5_3/Zend/zend_execute_API.c === --- php/php-src/branches/PHP_5_3/Zend/zend_execute_API.c2012-03-11 15:28:31 UTC (rev 324108) +++ php/php-src/branches/PHP_5_3/Zend/zend_execute_API.c2012-03-11 15:31:19 UTC (rev 324109) @@ -877,7 +877,7 @@ if (fci-no_separation !ARG_MAY_BE_SENT_BY_REF(EX(function_state).function, i + 1)) { - if (i || UNEXPECTED(UNEXPECTED(ZEND_VM_STACK_ELEMETS(EG(argument_stack)) == EG(argument_stack)-top))) { + if (i || UNEXPECTED(ZEND_VM_STACK_ELEMETS(EG(argument_stack)) == EG(argument_stack)-top)) { /* hack to clean up the stack */ zend_vm_stack_push_nocheck((void *) (zend_uintptr_t)i TSRMLS_CC); zend_vm_stack_clear_multiple(TSRMLS_C); -- 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/spl/spl_directory.c branches/PHP_5_3/ext/spl/tests/SplFileInfo_001.phpt branches/PHP_5_4/ext/spl/spl_directory.c branches/PHP_5_
felipe Sun, 11 Mar 2012 15:42:57 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324110 Log: - Fixed memory leak when calling SplFileInfo's constructor twice Changed paths: U php/php-src/branches/PHP_5_3/NEWS U php/php-src/branches/PHP_5_3/ext/spl/spl_directory.c A php/php-src/branches/PHP_5_3/ext/spl/tests/SplFileInfo_001.phpt U php/php-src/branches/PHP_5_4/ext/spl/spl_directory.c A php/php-src/branches/PHP_5_4/ext/spl/tests/SplFileInfo_001.phpt U php/php-src/trunk/ext/spl/spl_directory.c A php/php-src/trunk/ext/spl/tests/SplFileInfo_001.phpt Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2012-03-11 15:31:19 UTC (rev 324109) +++ php/php-src/branches/PHP_5_3/NEWS 2012-03-11 15:42:57 UTC (rev 324110) @@ -71,6 +71,7 @@ chunksize length line is 10 bytes). (Ilia) - SPL + . Fixed memory leak when calling SplFileInfo's constructor twice. (Felipe) . Fixed bug #61347 (inconsistent isset behavior of Arrayobject). (Laruence) . Fixed bug #61326 (ArrayObject comparison). (Gustavo) Modified: php/php-src/branches/PHP_5_3/ext/spl/spl_directory.c === --- php/php-src/branches/PHP_5_3/ext/spl/spl_directory.c2012-03-11 15:31:19 UTC (rev 324109) +++ php/php-src/branches/PHP_5_3/ext/spl/spl_directory.c2012-03-11 15:42:57 UTC (rev 324110) @@ -366,6 +366,10 @@ void spl_filesystem_info_set_filename(spl_filesystem_object *intern, char *path, int len, int use_copy TSRMLS_DC) /* {{{ */ { char *p1, *p2; + + if (intern-file_name) { + efree(intern-file_name); + } intern-file_name = use_copy ? estrndup(path, len) : path; intern-file_name_len = len; @@ -386,7 +390,10 @@ } else { intern-_path_len = 0; } - + + if (intern-_path) { + efree(intern-_path); + } intern-_path = estrndup(path, intern-_path_len); } /* }}} */ Added: php/php-src/branches/PHP_5_3/ext/spl/tests/SplFileInfo_001.phpt === --- php/php-src/branches/PHP_5_3/ext/spl/tests/SplFileInfo_001.phpt (rev 0) +++ php/php-src/branches/PHP_5_3/ext/spl/tests/SplFileInfo_001.phpt 2012-03-11 15:42:57 UTC (rev 324110) @@ -0,0 +1,11 @@ +--TEST-- +Testing SplFileInfo calling the constructor twice +--FILE-- +?php +$x = new splfileinfo(1); +$x-__construct(1); + +echo done!\n; +? +--EXPECT-- +done! Modified: php/php-src/branches/PHP_5_4/ext/spl/spl_directory.c === --- php/php-src/branches/PHP_5_4/ext/spl/spl_directory.c2012-03-11 15:31:19 UTC (rev 324109) +++ php/php-src/branches/PHP_5_4/ext/spl/spl_directory.c2012-03-11 15:42:57 UTC (rev 324110) @@ -376,6 +376,10 @@ void spl_filesystem_info_set_filename(spl_filesystem_object *intern, char *path, int len, int use_copy TSRMLS_DC) /* {{{ */ { char *p1, *p2; + + if (intern-file_name) { + efree(intern-file_name); + } intern-file_name = use_copy ? estrndup(path, len) : path; intern-file_name_len = len; @@ -396,7 +400,10 @@ } else { intern-_path_len = 0; } - + + if (intern-_path) { + efree(intern-_path); + } intern-_path = estrndup(path, intern-_path_len); } /* }}} */ Added: php/php-src/branches/PHP_5_4/ext/spl/tests/SplFileInfo_001.phpt === --- php/php-src/branches/PHP_5_4/ext/spl/tests/SplFileInfo_001.phpt (rev 0) +++ php/php-src/branches/PHP_5_4/ext/spl/tests/SplFileInfo_001.phpt 2012-03-11 15:42:57 UTC (rev 324110) @@ -0,0 +1,11 @@ +--TEST-- +Testing SplFileInfo calling the constructor twice +--FILE-- +?php +$x = new splfileinfo(1); +$x-__construct(1); + +echo done!\n; +? +--EXPECT-- +done! Modified: php/php-src/trunk/ext/spl/spl_directory.c === --- php/php-src/trunk/ext/spl/spl_directory.c 2012-03-11 15:31:19 UTC (rev 324109) +++ php/php-src/trunk/ext/spl/spl_directory.c 2012-03-11 15:42:57 UTC (rev 324110) @@ -376,6 +376,10 @@ void spl_filesystem_info_set_filename(spl_filesystem_object *intern, char *path, int len, int use_copy TSRMLS_DC) /* {{{ */ { char *p1, *p2; + + if (intern-file_name) { + efree(intern-file_name); + } intern-file_name = use_copy ? estrndup(path, len) : path; intern-file_name_len = len; @@ -396,7 +400,10 @@ } else { intern-_path_len = 0; } - + + if (intern-_path) { + efree(intern-_path); + } intern-_path = estrndup(path,
[PHP-CVS] svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/Zend/tests/bug60569.phpt branches/PHP_5_3/Zend/zend_exceptions.c branches/PHP_5_4/NEWS branches/PHP_5_4/Zend/tests/bug60569.phpt bra
iliaaSun, 11 Mar 2012 18:15:13 + Revision: http://svn.php.net/viewvc?view=revisionrevision=324112 Log: Fixed bug #60569 (Nullbyte truncates Exception $message). Bug: https://bugs.php.net/60569 (Open) Nullbyte truncates Exception $message. Changed paths: U php/php-src/branches/PHP_5_3/NEWS A php/php-src/branches/PHP_5_3/Zend/tests/bug60569.phpt U php/php-src/branches/PHP_5_3/Zend/zend_exceptions.c U php/php-src/branches/PHP_5_4/NEWS A php/php-src/branches/PHP_5_4/Zend/tests/bug60569.phpt U php/php-src/branches/PHP_5_4/Zend/zend_exceptions.c A php/php-src/trunk/Zend/tests/bug60569.phpt U php/php-src/trunk/Zend/zend_exceptions.c Modified: php/php-src/branches/PHP_5_3/NEWS === --- php/php-src/branches/PHP_5_3/NEWS 2012-03-11 15:56:56 UTC (rev 324111) +++ php/php-src/branches/PHP_5_3/NEWS 2012-03-11 18:15:13 UTC (rev 324112) @@ -21,6 +21,7 @@ . Fixed bug #60825 (Segfault when running symfony 2 tests). (Dmitry, Laruence) . Fixed bug #60801 (strpbrk() mishandles NUL byte). (Adam) + . Fixed bug #60569 (Nullbyte truncates Exception $message). (Ilia) . Fixed bug #60227 (header() cannot detect the multi-line header with CR). (rui, Gustavo) . Fixed bug #52719 (array_walk_recursive crashes if third param of the Added: php/php-src/branches/PHP_5_3/Zend/tests/bug60569.phpt === (Binary files differ) Property changes on: php/php-src/branches/PHP_5_3/Zend/tests/bug60569.phpt ___ Added: svn:mime-type + application/octet-stream Modified: php/php-src/branches/PHP_5_3/Zend/zend_exceptions.c === --- php/php-src/branches/PHP_5_3/Zend/zend_exceptions.c 2012-03-11 15:56:56 UTC (rev 324111) +++ php/php-src/branches/PHP_5_3/Zend/zend_exceptions.c 2012-03-11 18:15:13 UTC (rev 324112) @@ -192,7 +192,7 @@ object = getThis(); if (message) { - zend_update_property_string(default_exception_ce, object, message, sizeof(message)-1, message TSRMLS_CC); + zend_update_property_stringl(default_exception_ce, object, message, sizeof(message)-1, message, message_len TSRMLS_CC); } if (code) { Modified: php/php-src/branches/PHP_5_4/NEWS === --- php/php-src/branches/PHP_5_4/NEWS 2012-03-11 15:56:56 UTC (rev 324111) +++ php/php-src/branches/PHP_5_4/NEWS 2012-03-11 18:15:13 UTC (rev 324112) @@ -32,6 +32,7 @@ error). (Stefan) . Fixed bug #60573 (type hinting with self keyword causes weird errors). (Laruence) + . Fixed bug #60569 (Nullbyte truncates Exception $message). (Ilia) . Fixed bug #52719 (array_walk_recursive crashes if third param of the function is by reference). (Nikita Popov) Added: php/php-src/branches/PHP_5_4/Zend/tests/bug60569.phpt === (Binary files differ) Property changes on: php/php-src/branches/PHP_5_4/Zend/tests/bug60569.phpt ___ Added: svn:mime-type + application/octet-stream Modified: php/php-src/branches/PHP_5_4/Zend/zend_exceptions.c === --- php/php-src/branches/PHP_5_4/Zend/zend_exceptions.c 2012-03-11 15:56:56 UTC (rev 324111) +++ php/php-src/branches/PHP_5_4/Zend/zend_exceptions.c 2012-03-11 18:15:13 UTC (rev 324112) @@ -205,7 +205,7 @@ object = getThis(); if (message) { - zend_update_property_string(default_exception_ce, object, message, sizeof(message)-1, message TSRMLS_CC); + zend_update_property_stringl(default_exception_ce, object, message, sizeof(message)-1, message, message_len TSRMLS_CC); } if (code) { Added: php/php-src/trunk/Zend/tests/bug60569.phpt === (Binary files differ) Property changes on: php/php-src/trunk/Zend/tests/bug60569.phpt ___ Added: svn:mime-type + application/octet-stream Modified: php/php-src/trunk/Zend/zend_exceptions.c === --- php/php-src/trunk/Zend/zend_exceptions.c2012-03-11 15:56:56 UTC (rev 324111) +++ php/php-src/trunk/Zend/zend_exceptions.c2012-03-11 18:15:13 UTC (rev 324112) @@ -205,7 +205,7 @@ object = getThis(); if (message) { - zend_update_property_string(default_exception_ce, object, message, sizeof(message)-1, message TSRMLS_CC); + zend_update_property_stringl(default_exception_ce, object, message, sizeof(message)-1, message, message_len