Commit 98a259edd23 for php.net
commit 98a259edd23cb132ac0b626dd9d4a8edacca4b3e
Author: Weilin Du <weilindu@php.net>
Date: Sun Aug 16 02:44:52 2026 +0800
Zend: Use zend_hash_find_ex_ptr() for __invoke
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c
index c5ec6fe5515..8ca6d212fd7 100644
--- a/Zend/zend_object_handlers.c
+++ b/Zend/zend_object_handlers.c
@@ -2615,12 +2615,13 @@ ZEND_API zend_result zend_std_cast_object_tostring(zend_object *readobj, zval *w
ZEND_API zend_result zend_std_get_closure(zend_object *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zend_object **obj_ptr, bool check_only) /* {{{ */
{
zend_class_entry *ce = obj->ce;
- const zval *func = zend_hash_find_known_hash(&ce->function_table, ZSTR_KNOWN(ZEND_STR_MAGIC_INVOKE));
+ zend_function *func = zend_hash_find_ex_ptr(
+ &ce->function_table, ZSTR_KNOWN(ZEND_STR_MAGIC_INVOKE), /* known_hash */ true);
if (func == NULL) {
return FAILURE;
}
- *fptr_ptr = Z_FUNC_P(func);
+ *fptr_ptr = func;
*ce_ptr = ce;
*obj_ptr = obj;