From 945748c19b966fff297d9a7a1e2dfda3b0a80754 Mon Sep 17 00:00:00 2001 From: Toon Schoenmakers Date: Fri, 21 Nov 2014 16:37:08 +0100 Subject: Value::refcount() is now const, and fixed a memory leak in return values --- zend/callable.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'zend/callable.cpp') diff --git a/zend/callable.cpp b/zend/callable.cpp index a85ab72..7505bbf 100644 --- a/zend/callable.cpp +++ b/zend/callable.cpp @@ -52,13 +52,13 @@ void Callable::invoke(INTERNAL_FUNCTION_PARAMETERS) // get the result Value result(callable->invoke(params)); - // detach the zval (we don't want it to be destructed) - zval *val = result.detach(); + // we're ready if the return value is not even used + if (!return_value_used) return; // @todo php 5.6 has a RETVAL_ZVAL_FAST macro that can be used instead (and is faster) // return a full copy of the zval, and do not destruct it - RETVAL_ZVAL(val, 1, 0); + RETVAL_ZVAL(result._val, 1, 0); } catch (Exception &exception) { -- cgit v1.2.3