summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_compile.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 4ce4f1fe93..9643e15438 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -537,16 +537,16 @@ static zend_bool opline_is_fetch_this(zend_op *opline TSRMLS_DC)
void zend_do_assign(znode *result, znode *variable, znode *value TSRMLS_DC)
{
+ int last_op_number = get_next_op_number(CG(active_op_array));
zend_op *opline = get_next_op(CG(active_op_array) TSRMLS_CC);
if (variable->op_type == IS_VAR) {
- int last_op_number = get_next_op_number(CG(active_op_array));
int n = 0;
while (last_op_number - n > 0) {
zend_op *last_op;
- last_op = &CG(active_op_array)->opcodes[last_op_number-n-1];
+ last_op = &CG(active_op_array)->opcodes[last_op_number-(n+1)];
if (last_op->result.op_type == IS_VAR &&
last_op->result.u.var == variable->u.var) {