From 544503eb03ec80c32f347aa9db664e5d2dd8c013 Mon Sep 17 00:00:00 2001 From: Aart Stuurman Date: Tue, 28 Jul 2015 11:32:19 +0200 Subject: fixed memory leak when iterating over a Php::Traversable object --- zend/iteratorimpl.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/zend/iteratorimpl.cpp b/zend/iteratorimpl.cpp index 2750ddb..3bd2ed7 100644 --- a/zend/iteratorimpl.cpp +++ b/zend/iteratorimpl.cpp @@ -82,7 +82,10 @@ void IteratorImpl::key(zend_object_iterator *iter, zval *key TSRMLS_DC) // detach the underlying zval zval *val = retval.detach(); - + + // increment number of references of the zval (we keep a copy too) + Z_ADDREF_P(val); + // copy it to the key ZVAL_ZVAL(key, val, 1, 1); } -- cgit v1.2.3