svn: /php/php-src/ branches/PHP_5_3/Zend/zend_API.c trunk/Zend/zend_API.c

From: Date: Sun, 26 Feb 2012 14:56:26 +0000
Subject: svn: /php/php-src/ branches/PHP_5_3/Zend/zend_API.c trunk/Zend/zend_API.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-67731@lists.php.net to get a copy of this message
laruence Sun, 26 Feb 2012 14:56:26 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=323563 Log: Improve fix for #61165, the previous one cause #43450 test failed Bugs: https://bugs.php.net/61165 (Assigned) Segfault - strip_tags() https://bugs.php.net/43450 (Closed) Memory leak on some functions with implicit object __toString() call Changed paths: U php/php-src/branches/PHP_5_3/Zend/zend_API.c U php/php-src/trunk/Zend/zend_API.c Modified: php/php-src/branches/PHP_5_3/Zend/zend_API.c =================================================================== --- php/php-src/branches/PHP_5_3/Zend/zend_API.c 2012-02-26 10:48:50 UTC (rev 323562) +++ php/php-src/branches/PHP_5_3/Zend/zend_API.c 2012-02-26 14:56:26 UTC (rev 323563) @@ -255,14 +255,13 @@ { if (Z_OBJ_HANDLER_PP(arg, cast_object)) { zval *obj; - ALLOC_ZVAL(obj); - MAKE_COPY_ZVAL(arg, obj); + MAKE_STD_ZVAL(obj); if (Z_OBJ_HANDLER_P(*arg, cast_object)(*arg, obj, IS_STRING TSRMLS_CC) == SUCCESS) { zval_ptr_dtor(arg); *arg = obj; return SUCCESS; } - zval_ptr_dtor(&obj); + efree(obj); } /* Standard PHP objects */ if (Z_OBJ_HT_PP(arg) == &std_object_handlers || !Z_OBJ_HANDLER_PP(arg, cast_object)) { Modified: php/php-src/trunk/Zend/zend_API.c =================================================================== --- php/php-src/trunk/Zend/zend_API.c 2012-02-26 10:48:50 UTC (rev 323562) +++ php/php-src/trunk/Zend/zend_API.c 2012-02-26 14:56:26 UTC (rev 323563) @@ -263,8 +263,7 @@ { if (Z_OBJ_HANDLER_PP(arg, cast_object)) { zval *obj; - ALLOC_ZVAL(obj); - MAKE_COPY_ZVAL(arg, obj); + MAKE_STD_ZVAL(obj); if (Z_OBJ_HANDLER_P(*arg, cast_object)(*arg, obj, type TSRMLS_CC) == SUCCESS) { zval_ptr_dtor(arg); *arg = obj; @@ -272,7 +271,7 @@ *p = Z_STRVAL_PP(arg); return SUCCESS; } - zval_ptr_dtor(&obj); + efree(obj); } /* Standard PHP objects */ if (Z_OBJ_HT_PP(arg) == &std_object_handlers || !Z_OBJ_HANDLER_PP(arg, cast_object)) {

« previous php.cvs (#67731) next »