Commit 6e664a04cb8 for php.net
commit 6e664a04cb8fec50dd19195d4c9b29fb8ac83b21
Author: Tim Düsterhus <tim@bastelstu.be>
Date: Tue Mar 10 20:06:34 2026 +0100
reflection: Check against the known string in `is_closure_invoke()` (#21402)
This can likely succeed by just comparing pointers in a majority of cases.
diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c
index 2f44d6be7bd..e44a746ff08 100644
--- a/ext/reflection/php_reflection.c
+++ b/ext/reflection/php_reflection.c
@@ -191,7 +191,7 @@ static zend_always_inline uint32_t prop_get_flags(const property_reference *ref)
static inline bool is_closure_invoke(const zend_class_entry *ce, const zend_string *lcname) {
return ce == zend_ce_closure
- && zend_string_equals_literal(lcname, ZEND_INVOKE_FUNC_NAME);
+ && zend_string_equals(lcname, ZSTR_KNOWN(ZEND_STR_MAGIC_INVOKE));
}
static zend_function *_copy_function(zend_function *fptr) /* {{{ */