projects
/
m6w6
/
ext-propro
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
|
github
raw
|
patch
|
inline
| side by side (from parent 1:
8f24d71
)
fix leak
author
Michael Wallner
<mike@php.net>
Mon, 17 Nov 2014 11:17:33 +0000
(12:17 +0100)
committer
Michael Wallner
<mike@php.net>
Mon, 17 Nov 2014 11:17:33 +0000
(12:17 +0100)
php_propro.c
patch
|
blob
|
history
diff --git
a/php_propro.c
b/php_propro.c
index e78a6f87bb585201b36ac32d7e1e3e4087a718e4..8d96e948118e19bfd7a222bdd7c37816130f6352 100644
(file)
--- a/
php_propro.c
+++ b/
php_propro.c
@@
-20,7
+20,7
@@
#include "php_propro.h"
#include "php_propro.h"
-#define DEBUG_PROPRO
1
+#define DEBUG_PROPRO
0
static inline zval *get_referenced_zval(zval *ref)
{
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)) {
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);
}
} else {
array_init(&proxied_value);
}