]> granicus.if.org Git - php/commitdiff
Stop on fake frame
authorDmitry Stogov <dmitry@zend.com>
Wed, 11 Nov 2020 11:54:54 +0000 (14:54 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 11 Nov 2020 11:54:54 +0000 (14:54 +0300)
ext/opcache/jit/zend_jit_vm_helpers.c

index 898b7c1f42a3b3de2ba0740dcd1b708b9c445c92..6573200430543ae86d8ddffcd2ce5bc27a649e42 100644 (file)
@@ -406,7 +406,7 @@ static int zend_jit_trace_recursive_ret_count(const zend_op_array *op_array, con
 
 static int zend_jit_trace_has_recursive_ret(zend_execute_data *ex, const zend_op_array *orig_op_array, const zend_op *orig_opline, int ret_level)
 {
-       while (ex != NULL && ret_level < ZEND_JIT_TRACE_MAX_RET_DEPTH) {
+       while (ex != NULL && ex->func != NULL && ret_level < ZEND_JIT_TRACE_MAX_RET_DEPTH) {
                if (&ex->func->op_array == orig_op_array && ex->opline + 1 == orig_opline) {
                        return 1;
                }