From 4aebb712b3a5e60aa8858f985c58d3b3745f91e1 Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Mon, 17 Nov 2014 12:17:33 +0100 Subject: [PATCH] fix leak --- php_propro.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/php_propro.c b/php_propro.c index e78a6f8..8d96e94 100644 --- a/php_propro.c +++ b/php_propro.c @@ -20,7 +20,7 @@ #include "php_propro.h" -#define DEBUG_PROPRO 1 +#define DEBUG_PROPRO 0 static inline zval *get_referenced_zval(zval *ref) { @@ -456,8 +456,11 @@ static void write_dimension(zval *object, zval *offset, zval *value TSRMLS_DC) get_proxied_value(object, &proxied_value TSRMLS_CC); if (!Z_ISUNDEF(proxied_value)) { - convert_to_array(&proxied_value); - Z_ADDREF(proxied_value); + if (Z_TYPE(proxied_value) == IS_ARRAY) { + Z_ADDREF(proxied_value); + } else { + convert_to_array(&proxied_value); + } } else { array_init(&proxied_value); } -- 2.30.2