[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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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

2012-03-11 Thread Xinchen Hui
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_

2012-03-11 Thread Felipe Pena
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

2012-03-11 Thread Ilia Alshanetsky
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