From cbf2df4d19151c8bc5ed3d4814f1777cdf5d9535 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Tue, 29 Jul 2008 12:56:52 +0000 Subject: [PATCH] Fixed memory leak --- ext/date/php_date.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ext/date/php_date.c b/ext/date/php_date.c index 04466a1e53..310b0bdfca 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -1842,6 +1842,7 @@ PHP_FUNCTION(getdate) /* define an overloaded iterator structure */ typedef struct { zend_object_iterator intern; + zval *date_period_zval; zval *current; php_period_obj *object; int current_index; @@ -1867,6 +1868,8 @@ static void date_period_it_dtor(zend_object_iterator *iter TSRMLS_DC) date_period_it_invalidate_current(iter TSRMLS_CC); + zval_ptr_dtor(&iterator->date_period_zval); + efree(iterator); } /* }}} */ @@ -1980,7 +1983,7 @@ zend_object_iterator *date_object_period_get_iterator(zend_class_entry *ce, zval Z_ADDREF_P(object); iterator->intern.data = (void*) dpobj; iterator->intern.funcs = &date_period_it_funcs; - MAKE_STD_ZVAL(iterator->current); + iterator->date_period_zval = object; iterator->object = dpobj; iterator->current = NULL; -- 2.50.1