cvs: ZendEngine2(PHP_5_3) / zend_API.c /tests bug47880.phpt php-src NEWS

"Dmitry Stogov" <[email protected]> Mon, 06 Apr 2009 11:10:32 -0000
Newsgroups gmane.comp.php.cvs.zend
Message-ID <cvsdmitry1239016232@cvsserver>
dmitry		Mon Apr  6 11:10:32 2009 UTC

  Added files:                 (Branch: PHP_5_3)
    /ZendEngine2/tests	bug47880.phpt 

  Modified files:              
    /php-src	NEWS 
    /ZendEngine2	zend_API.c 
  Log:
  Bug #47880 (crashes in call_user_func_array())
  
  
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.965.2.552&r2=1.2027.2.547.2.965.2.553&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.965.2.552 php-src/NEWS:1.2027.2.547.2.965.2.553
--- php-src/NEWS:1.2027.2.547.2.965.2.552	Sat Apr  4 14:36:23 2009
+++ php-src/NEWS	Mon Apr  6 11:10:31 2009
@@ -4,6 +4,7 @@
 - Undeprecated ticks. (Arnaud)
 - Upgraded bundled sqlite to version 3.6.12. (Scott)
 
+- Fixed bug #47880 (crashes in call_user_func_array()). (Dmitry)
 - Fixed bug #47856 (stristr() converts needle to lower-case). (Ilia)
 - Fixed bug #47851 (is_callable throws fatal error). (Dmitry)
 - Fixed bug #47819 (Getting pdo_mysql.so: undefined symbol: mysqlnd_debug_init
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_API.c?r1=1.296.2.27.2.34.2.62&r2=1.296.2.27.2.34.2.63&diff_format=u
Index: ZendEngine2/zend_API.c
diff -u ZendEngine2/zend_API.c:1.296.2.27.2.34.2.62 ZendEngine2/zend_API.c:1.296.2.27.2.34.2.63
--- ZendEngine2/zend_API.c:1.296.2.27.2.34.2.62	Thu Apr  2 09:56:33 2009
+++ ZendEngine2/zend_API.c	Mon Apr  6 11:10:31 2009
@@ -18,7 +18,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_API.c,v 1.296.2.27.2.34.2.62 2009/04/02 09:56:33 dmitry Exp $ */
+/* $Id: zend_API.c,v 1.296.2.27.2.34.2.63 2009/04/06 11:10:31 dmitry Exp $ */
 
 #include "zend.h"
 #include "zend_execute.h"
@@ -2856,9 +2856,6 @@
 ZEND_API void zend_fcall_info_args_clear(zend_fcall_info *fci, int free_mem) /* {{{ */
 {
 	if (fci->params) {
-		while (fci->param_count) {
-			zval_ptr_dtor(fci->params[--fci->param_count]);
-		}
 		if (free_mem) {
 			efree(fci->params);
 			fci->params = NULL;
@@ -2906,7 +2903,6 @@
 	zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(args), &pos);
 	while (zend_hash_get_current_data_ex(Z_ARRVAL_P(args), (void *) &arg, &pos) == SUCCESS) {
 		*params++ = arg;
-		Z_ADDREF_P(*arg);
 		zend_hash_move_forward_ex(Z_ARRVAL_P(args), &pos);
 	}
 
@@ -2929,7 +2925,6 @@
 		fci->params = (zval ***) erealloc(fci->params, fci->param_count * sizeof(zval **));
 
 		for (i = 0; i < argc; ++i) {
-			Z_ADDREF_P(*(argv[i]));
 			fci->params[i] = argv[i];
 		}
 	}
@@ -2955,7 +2950,6 @@
 
 		for (i = 0; i < argc; ++i) {
 			arg = va_arg(*argv, zval **);
-			Z_ADDREF_P(*arg);
 			fci->params[i] = arg;
 		}
 	}

http://cvs.php.net/viewvc.cgi/ZendEngine2/tests/bug47880.phpt?view=markup&rev=1.1
Index: ZendEngine2/tests/bug47880.phpt
+++ ZendEngine2/tests/bug47880.phpt



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