felipe Fri, 23 Apr 2010 02:57:49 +0000 Revision: http://svn.php.net/viewvc?view=revision&revision=298363
Log: - Fix memory issue Changed paths: U php/php-src/trunk/Zend/zend_compile.c Modified: php/php-src/trunk/Zend/zend_compile.c =================================================================== --- php/php-src/trunk/Zend/zend_compile.c 2010-04-23 02:53:01 UTC (rev 298362) +++ php/php-src/trunk/Zend/zend_compile.c 2010-04-23 02:57:49 UTC (rev 298363) @@ -3344,18 +3344,14 @@ opcode_copy = safe_emalloc(sizeof(zend_op), fe->op_array.last, 0); for(i = 0; i < fe->op_array.last; i++) { opcode_copy[i] = fe->op_array.opcodes[i]; - if (opcode_copy[i].op1_type == IS_CONST) { - zval_copy_ctor(&CONSTANT_EX(&fe->op_array, opcode_copy[i].op1.constant)); - } else { + if (opcode_copy[i].op1_type != IS_CONST) { if (opcode_copy[i].op1.jmp_addr >= fe->op_array.opcodes && opcode_copy[i].op1.jmp_addr < fe->op_array.opcodes + fe->op_array.last) { opcode_copy[i].op1.jmp_addr = opcode_copy + (fe->op_array.opcodes[i].op1.jmp_addr - fe->op_array.opcodes); } } - if (opcode_copy[i].op2_type == IS_CONST) { - zval_copy_ctor(&CONSTANT_EX(&fe->op_array, opcode_copy[i].op2.constant)); - } else { + if (opcode_copy[i].op2_type != IS_CONST) { if (opcode_copy[i].op2.jmp_addr >= fe->op_array.opcodes && opcode_copy[i].op2.jmp_addr < fe->op_array.opcodes + fe->op_array.last) { opcode_copy[i].op2.jmp_addr = opcode_copy + (fe->op_array.opcodes[i].op2.jmp_addr - fe->op_array.opcodes); @@ -3394,6 +3390,7 @@ for (i = 0; i < fe->op_array.size_literal; i++) { literals_copy[i] = fe->op_array.literals[i]; + zval_copy_ctor(&literals_copy[i].constant); } fe->op_array.literals = literals_copy; }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php