]> granicus.if.org Git - php/commitdiff
- Fix memleak
authorMarcus Boerger <helly@php.net>
Thu, 22 Dec 2005 00:06:38 +0000 (00:06 +0000)
committerMarcus Boerger <helly@php.net>
Thu, 22 Dec 2005 00:06:38 +0000 (00:06 +0000)
ext/spl/spl_iterators.c

index 8e0e5cd6ca1d9415a06cfe847b8156816c5d4300..da9fef123a6d571730904e8de373d4347c65e1e0 100755 (executable)
@@ -1900,7 +1900,10 @@ int spl_append_it_next_iterator(spl_dual_it_object *intern TSRMLS_DC) /* {{{*/
                intern->inner.zobject = NULL;
                intern->inner.ce = NULL;
                intern->inner.object = NULL;
-               intern->inner.iterator = NULL;
+               if (intern->inner.iterator) {
+                       intern->inner.iterator->funcs->dtor(intern->inner.iterator TSRMLS_CC);
+                       intern->inner.iterator = NULL;
+               }
        }
        if (intern->u.append.iterator->funcs->valid(intern->u.append.iterator TSRMLS_CC) == SUCCESS) {
                zval **it;