diff options
| -rw-r--r-- | Zend/zend_compile.c | 4 |
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) { |
