X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fphp_pqres.c;h=67dac3403b3fd951561d75e89ac1d104f95f1a3c;hb=2805a4d1f8dc3e718ba7822040208e9c608358e0;hp=de33fd2d70325949adce56e9cae6f68c1588d7ea;hpb=a4dced008a651f8850669a527987239c9b87f7d3;p=m6w6%2Fext-pq diff --git a/src/php_pqres.c b/src/php_pqres.c index de33fd2..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); } @@ -670,7 +669,7 @@ static PHP_METHOD(pqres, fetchCol) { RETVAL_FALSE; } else { zval_dtor(zref); - ZVAL_ZVAL(zref, *zres, 1, 1); + ZVAL_ZVAL(zref, *zres, 1, 0); RETVAL_TRUE; } }