From: Dmitry Stogov Date: Mon, 10 Sep 2018 12:26:38 +0000 (+0300) Subject: Fixed wrong assertion X-Git-Tag: php-7.3.0RC1~6 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=64dad57d198cb9614e55014948f381727185bf72;p=php Fixed wrong assertion --- diff --git a/ext/opcache/Optimizer/dfa_pass.c b/ext/opcache/Optimizer/dfa_pass.c index 07cff986df..7e52226af5 100644 --- a/ext/opcache/Optimizer/dfa_pass.c +++ b/ext/opcache/Optimizer/dfa_pass.c @@ -704,8 +704,7 @@ optimize_jmpnz: take_successor_1(ssa, block_num, block); goto optimize_nop; } - } else { - ZEND_ASSERT(block->successors_count == 2); + } else if (block->successors_count == 2) { if (block->successors[0] == next_block_num) { take_successor_0(ssa, block_num, block); if (opline->op1_type == IS_CV && (OP1_INFO() & MAY_BE_UNDEF)) { @@ -737,8 +736,7 @@ optimize_jmpnz: opline->extended_value = 0; opline->opcode = ZEND_JMP; goto optimize_jmp; - } else { - ZEND_ASSERT(block->successors_count == 2); + } else if (block->successors_count == 2) { if (block->successors[0] == block->successors[1]) { take_successor_0(ssa, block_num, block); if (block->successors[0] == next_block_num) { diff --git a/ext/opcache/tests/ssa_bug_011.phpt b/ext/opcache/tests/ssa_bug_011.phpt new file mode 100644 index 0000000000..3c12777724 --- /dev/null +++ b/ext/opcache/tests/ssa_bug_011.phpt @@ -0,0 +1,15 @@ +--TEST-- +Wrong assertion +--FILE-- + +OK +--EXPECT-- +OK