xref: /PHP-7.4/Zend/tests/bug80781.phpt (revision 6dd85f83)
1--TEST--
2Bug #80781: Error handler that throws ErrorException infinite loop
3--FILE--
4<?php
5
6function handle(int $severity, string $message, string $file, int $line): bool {
7	if((error_reporting() & $severity) !== 0) {
8		throw new \ErrorException($message, 0, $severity, $file, $line);
9	}
10
11	return true; // stfu operator
12}
13
14set_error_handler('handle');
15
16function getPlugin(string $plugin) : bool{
17	return false;
18}
19
20$data = [];
21$array = [];
22if (isset($array[$data]) or getPlugin($data)) {
23
24}
25
26?>
27--EXPECTF--
28Fatal error: Uncaught ErrorException: Illegal offset type in isset or empty in %s:%d
29Stack trace:
30#0 %s(%d): handle(2, 'Illegal offset ...', %s, %d, Array)
31#1 {main}
32  thrown in %s on line %d
33