]> granicus.if.org Git - php/commitdiff
Fixed tracing JIT crash in case SSA for op_array is not provided
authorDmitry Stogov <dmitry@zend.com>
Wed, 19 Aug 2020 11:51:39 +0000 (14:51 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 19 Aug 2020 11:51:39 +0000 (14:51 +0300)
ext/opcache/jit/zend_jit_x86.dasc

index 25cd3143fd8a635f414670bb27f7b5ad9e0e0ab6..e36292c1bb27b58662551d0d1115d0211c8bd22d 100644 (file)
@@ -11856,7 +11856,7 @@ static int zend_jit_switch(dasm_State **Dst, const zend_op *opline, const zend_o
                zend_jit_addr op1_addr = OP1_ADDR();
                const zend_op *default_opline = ZEND_OFFSET_TO_OPLINE(opline, opline->extended_value);
                const zend_op *target;
-               int default_b = ssa->cfg.map[default_opline - op_array->opcodes];
+               int default_b = next_opline ? -1 : ssa->cfg.map[default_opline - op_array->opcodes];
                int b;
                zval *val;
                int32_t exit_point;