]> granicus.if.org Git - php/commitdiff
Fixed possible crash in interactive mode
authorDmitry Stogov <dmitry@php.net>
Mon, 10 Apr 2006 12:27:17 +0000 (12:27 +0000)
committerDmitry Stogov <dmitry@php.net>
Mon, 10 Apr 2006 12:27:17 +0000 (12:27 +0000)
Zend/zend_opcode.c

index cdaf0c3dc7d7558258d1ce4b9bf3b9e1902fc535..cb85fd27fbece9ab56eab16ec3c680372fc22455 100644 (file)
@@ -370,8 +370,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;