summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>1999-11-25 16:11:34 +0000
committerZeev Suraski <zeev@php.net>1999-11-25 16:11:34 +0000
commitf62a08c2ae79a28f288924e38427f7e14499771d (patch)
tree668cad0b86b85bd4fd0b74736c92c671760fffc1 /Zend/zend_execute.c
parent442f8b3c3c0afab679be1a34ca46f5ebc970e517 (diff)
downloadphp-git-f62a08c2ae79a28f288924e38427f7e14499771d.tar.gz
Fix bug #2817 - assignments to string offsets could erronously modify unrelated strings
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 12dee19586..8394954975 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -688,6 +688,8 @@ static inline void zend_fetch_dimension_address(znode *result, znode *op1, znode
convert_to_long(&tmp);
offset = &tmp;
}
+ SEPARATE_ZVAL(container_ptr);
+ container = *container_ptr;
Ts[result->u.var].EA.str = container;
PZVAL_LOCK(container);
Ts[result->u.var].EA.offset = offset->value.lval;