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.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 42bcc25938..ac48ac6780 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -627,7 +627,6 @@ static inline void zend_fetch_dimension_address(znode *result, znode *op1, znode
zend_overloaded_element overloaded_element;
if (Ts[op1->u.var].EA.type == IS_STRING_OFFSET) {
- zval_ptr_dtor(&Ts[op1->u.var].EA.str);
switch (type) {
case BP_VAR_R:
case BP_VAR_IS:
@@ -665,7 +664,8 @@ static inline void zend_fetch_dimension_address(znode *result, znode *op1, znode
return;
}
- if (container->type == IS_NULL) {
+ if (container->type==IS_NULL
+ || (container->type==IS_STRING && container->value.str.len==0)) {
switch (type) {
case BP_VAR_RW:
case BP_VAR_W: