helly Thu Dec 22 00:35:37 2005 EDT Modified files: (Branch: PHP_5_1) /php-src/ext/spl spl_iterators.c Log: - Fix memleak http://cvs.php.net/viewcvs.cgi/php-src/ext/spl/spl_iterators.c?r1=1.73.2.13&r2=1.73.2.14&diff_format=u Index: php-src/ext/spl/spl_iterators.c diff -u php-src/ext/spl/spl_iterators.c:1.73.2.13 php-src/ext/spl/spl_iterators.c:1.73.2.14 --- php-src/ext/spl/spl_iterators.c:1.73.2.13 Thu Dec 22 00:06:38 2005 +++ php-src/ext/spl/spl_iterators.c Thu Dec 22 00:35:37 2005 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_iterators.c,v 1.73.2.13 2005/12/22 00:06:38 helly Exp $ */ +/* $Id: spl_iterators.c,v 1.73.2.14 2005/12/22 00:35:37 helly Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -384,6 +384,9 @@ iterator = NULL; } if (!iterator || !instanceof_function(Z_OBJCE_P(iterator), spl_ce_RecursiveIterator TSRMLS_CC)) { + if (iterator && !inc_refcount) { + zval_ptr_dtor(&iterator); + } php_set_error_handling(EH_NORMAL, NULL TSRMLS_CC); zend_throw_exception(spl_ce_InvalidArgumentException, "An instance of RecursiveIterator or IteratorAggregate creating it is required", 0 TSRMLS_CC); return;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php