From: Michael Wallner Date: Fri, 12 Sep 2014 05:25:24 +0000 (+0200) Subject: avoid adding a ref to the object of the iterator actually living inside X-Git-Tag: v0.5.0~33 X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=commitdiff_plain;h=2805a4d1f8dc3e718ba7822040208e9c608358e0 avoid adding a ref to the object of the iterator actually living inside that object --- diff --git a/src/php_pqres.c b/src/php_pqres.c index 3b5d6bf..67dac34 100644 --- a/src/php_pqres.c +++ b/src/php_pqres.c @@ -38,7 +38,7 @@ static zend_object_iterator *php_pqres_iterator_init(zend_class_entry *ce, zval iter = ecalloc(1, sizeof(*iter)); iter->zi.funcs = &php_pqres_iterator_funcs; iter->zi.data = object; - Z_ADDREF_P(object); + /* do not addref, because the iterator lives inside this object anyway */ zfetch_type = prop = zend_read_property(ce, object, ZEND_STRL("fetchType"), 0 TSRMLS_CC); if (Z_TYPE_P(zfetch_type) != IS_LONG) { @@ -66,7 +66,6 @@ static void php_pqres_iterator_dtor(zend_object_iterator *i TSRMLS_DC) zval_ptr_dtor(&iter->current_val); iter->current_val = NULL; } - zval_ptr_dtor((zval **) &iter->zi.data); efree(iter); }