]> granicus.if.org Git - php/commitdiff
Fixed memory leaks
authorDmitry Stogov <dmitry@zend.com>
Sat, 16 Mar 2013 13:24:54 +0000 (17:24 +0400)
committerDmitry Stogov <dmitry@zend.com>
Sat, 16 Mar 2013 13:24:54 +0000 (17:24 +0400)
ext/opcache/Optimizer/block_pass.c

index 3d4bb0c1d27320cbdbbf4b5814f4b1d9800125b5..d4299c8add63c5906a538d970c5dd9192fb35ced 100644 (file)
@@ -1304,9 +1304,11 @@ static void zend_jmp_optimization(zend_code_block *block, zend_op_array *op_arra
                                        /* JMP L, L: JMP L1 -> JMP L1 */
                                        /* JMP L, L: JMPZNZ L1,L2 -> JMPZNZ L1,L2 */
                                        *last_op = *target;
+#if ZEND_EXTENSION_API_NO < PHP_5_4_X_API_NO
                                        if (ZEND_OP1_TYPE(last_op) == IS_CONST) {
                                                zval_copy_ctor(&ZEND_OP1_LITERAL(last_op));
                                        }
+#endif
                                        del_source(block, block->op1_to);
                                        if (block->op1_to->op2_to) {
                                                block->op2_to = block->op1_to->op2_to;
@@ -1332,9 +1334,11 @@ static void zend_jmp_optimization(zend_code_block *block, zend_op_array *op_arra
                                      target->opcode == ZEND_EXIT) {
                                        /* JMP L, L: RETURN to immediate RETURN */
                                        *last_op = *target;
+#if ZEND_EXTENSION_API_NO < PHP_5_4_X_API_NO
                                        if (ZEND_OP1_TYPE(last_op) == IS_CONST) {
                                                zval_copy_ctor(&ZEND_OP1_LITERAL(last_op));
                                        }
+#endif
                                        del_source(block, block->op1_to);
                                        block->op1_to = NULL;
 #if 0