projects
/
m6w6
/
ext-pq
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
|
github
raw
|
patch
|
inline
| side by side (parent:
a04c771
)
avoid adding a ref to the object of the iterator actually living inside
author
Michael Wallner
<mike@php.net>
Fri, 12 Sep 2014 05:25:24 +0000
(07:25 +0200)
committer
Michael Wallner
<mike@php.net>
Fri, 12 Sep 2014 05:25:24 +0000
(07:25 +0200)
that object
src/php_pqres.c
patch
|
blob
|
history
diff --git
a/src/php_pqres.c
b/src/php_pqres.c
index 3b5d6bff0216893b5ff4a6bdd77269e40d193a4c..67dac3403b3fd951561d75e89ac1d104f95f1a3c 100644
(file)
--- 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;
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) {
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(&iter->current_val);
iter->current_val = NULL;
}
- zval_ptr_dtor((zval **) &iter->zi.data);
efree(iter);
}
efree(iter);
}