]> granicus.if.org Git - php/commitdiff
We track only arguments of user functions on abstract stack
authorDmitry Stogov <dmitry@zend.com>
Thu, 23 Jul 2020 10:39:49 +0000 (13:39 +0300)
committerDmitry Stogov <dmitry@zend.com>
Thu, 23 Jul 2020 10:39:49 +0000 (13:39 +0300)
ext/opcache/jit/zend_jit_trace.c

index 364625c7486de23dbc052283a70452a54bbd7ffc..310dacd840d566103f194c222027c5fcf8d1edf7 100644 (file)
@@ -449,7 +449,8 @@ static void zend_jit_trace_send_type(const zend_op *opline, zend_jit_trace_stack
        const zend_op_array *op_array = &call->func->op_array;
        uint32_t arg_num = opline->op2.num;
 
-       if (arg_num > op_array->num_args) {
+       if (op_array->type != ZEND_USER_FUNCTION
+        || arg_num > op_array->num_args) {
                return;
        }
        if (op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS) {