From fbb84e37d8e92d03a40d1409b22fd3d90e62dfe4 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Tue, 29 Jul 2008 12:56:18 +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 969928cad7..38a3684ba2 100644 --- a/ext/date/php_date.c +++ b/ext/date/php_date.c @@ -1974,6 +1974,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; @@ -1999,6 +2000,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); } /* }}} */ @@ -2112,7 +2115,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