Commit cc1b9eefbd8 for php.net
commit cc1b9eefbd8add5eaa84d5affd2e7fef023eb46f
Merge: d822e940a22 1e89e47376d
Author: Ilia Alshanetsky <ilia@ilia.ws>
Date: Wed Jul 1 08:01:23 2026 -0400
Merge branch 'PHP-8.5'
* PHP-8.5:
Fix infinite recursion in property hook getter in opcache preloaded trait
diff --cc ext/opcache/ZendAccelerator.c
index 3d005b3835a,62a33c45105..83e933b0118
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@@ -4376,19 -4366,19 +4376,21 @@@ static void preload_fix_trait_op_array(
zend_string *function_name = op_array->function_name;
zend_class_entry *scope = op_array->scope;
uint32_t fn_flags = op_array->fn_flags;
+ uint32_t fn_flags2 = op_array->fn_flags2;
zend_function *prototype = op_array->prototype;
HashTable *ht = op_array->static_variables;
+ const zend_property_info *prop_info = op_array->prop_info;
*op_array = *orig_op_array;
op_array->function_name = function_name;
op_array->scope = scope;
op_array->fn_flags = fn_flags;
+ op_array->fn_flags2 = fn_flags2;
op_array->prototype = prototype;
op_array->static_variables = ht;
+ op_array->prop_info = prop_info;
}
-static void preload_fix_trait_methods(zend_class_entry *ce)
+static void preload_fix_trait_methods(const zend_class_entry *ce)
{
zend_op_array *op_array;