diff options
Diffstat (limited to 'Zend/zend.c')
-rw-r--r-- | Zend/zend.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Zend/zend.c b/Zend/zend.c index 36972dff06..8c91586510 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -239,7 +239,12 @@ ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_cop zval *z = Z_OBJ_HANDLER_P(expr, get)(expr TSRMLS_CC); if(Z_TYPE_P(z) != IS_OBJECT) { zend_make_printable_zval(z, expr_copy, use_copy); - FREE_ZVAL(z); + if (*use_copy) { + FREE_ZVAL(z); + } else { + ZVAL_ZVAL(expr_copy, z, 0, 1); + *use_copy = 1; + } return; } } |