helly Thu Dec 22 00:38:05 2005 EDT Modified files: /php-src/ext/spl spl_iterators.c Log: - MFB Fix leak http://cvs.php.net/viewcvs.cgi/php-src/ext/spl/spl_iterators.c?r1=1.103&r2=1.104&diff_format=u Index: php-src/ext/spl/spl_iterators.c diff -u php-src/ext/spl/spl_iterators.c:1.103 php-src/ext/spl/spl_iterators.c:1.104 --- php-src/ext/spl/spl_iterators.c:1.103 Thu Dec 22 00:24:49 2005 +++ php-src/ext/spl/spl_iterators.c Thu Dec 22 00:38:05 2005 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: spl_iterators.c,v 1.103 2005/12/22 00:24:49 helly Exp $ */ +/* $Id: spl_iterators.c,v 1.104 2005/12/22 00:38:05 helly Exp $ */ #ifdef HAVE_CONFIG_H # include "config.h" @@ -386,6 +386,9 @@ iterator = NULL; } if (!iterator || !instanceof_function(Z_OBJCE_P(iterator), U_CLASS_ENTRY(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(U_CLASS_ENTRY(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