summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 822ec902a3..e4090081a6 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -697,6 +697,7 @@ static inline void zend_assign_to_object(zval *retval, zval *object_ptr, zval *p
value = &tmp;
} else if (value_type == IS_CONST) {
ZVAL_DUP(&tmp, value);
+ value = &tmp;
} else if (Z_REFCOUNTED_P(value)) {
Z_ADDREF_P(value);
}
@@ -1107,6 +1108,7 @@ fetch_from_array:
} else if (EXPECTED(Z_TYPE_P(container) == IS_STRING)) {
if (type != BP_VAR_UNSET && UNEXPECTED(Z_STRLEN_P(container) == 0)) {
convert_to_array:
+ zval_dtor(container);
array_init(container);
goto fetch_from_array;
}