From: Marcus Boerger Date: Thu, 22 Dec 2005 00:38:05 +0000 (+0000) Subject: - MFB Fix leak X-Git-Tag: RELEASE_1_0_4~273 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2f2711acfd3b0f22815238c3e302163378544804;p=php - MFB Fix leak --- diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index f1e8ecde2f..764194645a 100755 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -386,6 +386,9 @@ SPL_METHOD(RecursiveIteratorIterator, __construct) 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;