From 53e37ac843dcac5b5424f92a2e7528d6ff4f5c31 Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Thu, 22 Dec 2005 00:35:37 +0000 Subject: [PATCH] - Fix memleak --- ext/spl/spl_iterators.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ext/spl/spl_iterators.c b/ext/spl/spl_iterators.c index da9fef123a..9923e1b66e 100755 --- a/ext/spl/spl_iterators.c +++ b/ext/spl/spl_iterators.c @@ -384,6 +384,9 @@ SPL_METHOD(RecursiveIteratorIterator, __construct) 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; -- 2.50.1