Ilia Alshanetsky
53e31d5883
Fix GH-21362: ReflectionMethod::invoke() allows different Closures ( #21366 )
...
ReflectionMethod::invoke() (and invokeArgs()) for Closure::__invoke()
incorrectly accepted any Closure object, not just the one the
ReflectionMethod was created from. This happened because all Closures
share a single zend_ce_closure class entry, so the instanceof_function()
check always passed.
Fix: store the original Closure object in intern->obj during
ReflectionMethod construction, then compare object identity in
reflection_method_invoke() to reject different Closure instances.
Closes GH-21362
2026-03-07 17:19:33 -08:00
..
2026-02-04 11:11:11 +01:00
2026-03-03 20:06:40 +01:00
2026-03-04 10:12:03 +01:00
2026-03-04 14:07:46 +01:00
2026-03-04 10:12:03 +01:00
2026-03-03 20:06:40 +01:00
2026-03-04 10:12:03 +01:00
2026-03-04 14:07:46 +01:00
2026-02-05 00:25:13 +01:00
2026-03-04 14:07:46 +01:00
2026-03-04 14:07:46 +01:00
2026-01-21 20:57:00 +01:00
2026-03-03 20:06:40 +01:00
2026-03-04 10:12:03 +01:00
2026-03-04 14:07:46 +01:00
2026-02-10 12:26:18 +00:00
2026-03-03 20:06:40 +01:00
2026-03-03 20:06:40 +01:00
2026-03-03 20:06:40 +01:00
2026-03-04 14:07:46 +01:00
2026-03-04 10:12:03 +01:00
2026-03-04 09:47:26 +09:00
2026-01-21 20:57:00 +01:00
2026-03-03 20:06:40 +01:00
2026-01-26 19:20:42 +01:00
2026-03-04 10:12:03 +01:00
2026-03-07 16:16:59 +01:00
2026-03-07 22:09:02 +00:00
2026-03-07 22:09:02 +00:00
2026-03-04 14:07:46 +01:00
2026-03-04 14:07:46 +01:00
2026-03-06 14:11:20 +01:00
2026-03-04 10:12:03 +01:00
2026-03-02 18:51:57 +01:00
2026-02-02 14:14:15 +01:00
2026-03-03 20:06:40 +01:00
2026-03-04 14:07:46 +01:00
2026-03-03 20:06:40 +01:00
2026-03-03 20:06:40 +01:00
2026-03-03 20:06:40 +01:00
2026-02-27 15:05:28 +01:00
2026-03-03 20:06:40 +01:00
2026-03-05 22:32:38 +00:00
2026-03-04 10:12:03 +01:00
2026-02-04 17:10:53 +01:00
2026-03-04 14:07:46 +01:00
2026-03-07 17:19:33 -08:00
2026-03-07 13:30:28 +00:00
2026-01-21 20:57:00 +01:00
2026-03-03 20:06:40 +01:00
2026-01-21 20:57:00 +01:00
2026-03-05 18:52:08 +00:00
2026-03-04 10:12:03 +01:00
2026-03-07 14:09:49 +00:00
2026-03-03 20:06:40 +01:00
2026-01-28 01:57:30 +00:00
2026-03-04 14:07:46 +01:00
2026-03-07 11:18:33 +01:00
2026-01-21 20:57:00 +01:00
2026-01-21 20:57:00 +01:00
2026-01-21 20:57:00 +01:00
2026-03-03 20:06:40 +01:00
2026-01-21 20:57:00 +01:00
2026-02-11 20:24:08 +01:00
2026-03-03 20:06:40 +01:00
2026-03-03 20:06:40 +01:00
2026-03-04 14:07:46 +01:00
2026-03-04 14:07:46 +01:00
2026-03-04 10:12:03 +01:00
2026-03-06 09:55:12 +01:00
2026-03-04 14:07:46 +01:00
2025-09-23 14:57:33 +02:00