summaryrefslogtreecommitdiff
path: root/Zend/zend_opcode.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2006-04-10 12:26:53 +0000
committerDmitry Stogov <dmitry@php.net>2006-04-10 12:26:53 +0000
commit64e7be9b5ac0b6b8a01d2f19bf38a0cb8720a13e (patch)
treec46eb9098a672fdc1c1e03504abbf1ede904dc5d /Zend/zend_opcode.c
parent12346d64eb6bb5588e9c81541a36dbbc98c1dc22 (diff)
downloadphp-git-64e7be9b5ac0b6b8a01d2f19bf38a0cb8720a13e.tar.gz
Fixed possible crash in interactive mode
Diffstat (limited to 'Zend/zend_opcode.c')
-rw-r--r--Zend/zend_opcode.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c
index 9e68496939..466dfbd2b5 100644
--- a/Zend/zend_opcode.c
+++ b/Zend/zend_opcode.c
@@ -367,8 +367,10 @@ int pass_two(zend_op_array *op_array TSRMLS_DC)
zend_llist_apply_with_argument(&zend_extensions, (llist_apply_with_arg_func_t) zend_extension_op_array_handler, op_array TSRMLS_CC);
}
- op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, sizeof(zend_op)*op_array->last);
- op_array->size = op_array->last;
+ if (!CG(interactive) && op_array->size != op_array->last) {
+ op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, sizeof(zend_op)*op_array->last);
+ op_array->size = op_array->last;
+ }
opline = op_array->opcodes;
end = opline + op_array->last;