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