summaryrefslogtreecommitdiff
path: root/Zend/zend_opcode.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2000-12-30 15:32:12 +0000
committerZeev Suraski <zeev@php.net>2000-12-30 15:32:12 +0000
commit18603033fb144e98137b2cce9d4aab5b52188010 (patch)
treef531dbf3454e74ee010e8b54f5c2e10ffb9fab35 /Zend/zend_opcode.c
parent0048312fa6db6334466b5666fd6564223b2bf912 (diff)
downloadphp-git-18603033fb144e98137b2cce9d4aab5b52188010.tar.gz
Fix possible corruption in line number information
Diffstat (limited to 'Zend/zend_opcode.c')
-rw-r--r--Zend/zend_opcode.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index ca1fc546e9..793124524e 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -251,7 +251,9 @@ static void zend_update_extended_info(zend_op_array *op_array CLS_DC)
opline++;
continue;
}
- opline->lineno = (opline+1)->lineno;
+ if (opline+1<end) {
+ opline->lineno = (opline+1)->lineno;
+ }
} else {
opline->opcode = ZEND_NOP;
}
@@ -262,9 +264,6 @@ static void zend_update_extended_info(zend_op_array *op_array CLS_DC)
opline->opcode = ZEND_EXT_STMT;
SET_UNUSED(opline->op1);
SET_UNUSED(opline->op2);
- if (op_array->last>0) {
- opline->lineno= op_array->opcodes[op_array->last-2].lineno;
- }
}