diff options
author | Zeev Suraski <zeev@php.net> | 2000-12-30 15:32:12 +0000 |
---|---|---|
committer | Zeev Suraski <zeev@php.net> | 2000-12-30 15:32:12 +0000 |
commit | 18603033fb144e98137b2cce9d4aab5b52188010 (patch) | |
tree | f531dbf3454e74ee010e8b54f5c2e10ffb9fab35 /Zend/zend_opcode.c | |
parent | 0048312fa6db6334466b5666fd6564223b2bf912 (diff) | |
download | php-git-18603033fb144e98137b2cce9d4aab5b52188010.tar.gz |
Fix possible corruption in line number information
Diffstat (limited to 'Zend/zend_opcode.c')
-rw-r--r-- | Zend/zend_opcode.c | 7 |
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; - } } |