diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2021-02-22 09:37:51 +0100 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2021-02-22 09:38:34 +0100 |
commit | ed4f90f0c7ba205defcbdd0079b14d883354eaa2 (patch) | |
tree | f961e2a4718d8821d5d199161453ba3ba4dbad62 | |
parent | 85ffe8dcdc2fe39e06037e382e012674ee051e1e (diff) | |
parent | 6dd85f83f78fbafc4a90b264e577a31b59323314 (diff) | |
download | php-git-ed4f90f0c7ba205defcbdd0079b14d883354eaa2.tar.gz |
Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
Fixed bug #80781
-rw-r--r-- | Zend/tests/bug80781.phpt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Zend/tests/bug80781.phpt b/Zend/tests/bug80781.phpt new file mode 100644 index 0000000000..eb5109add9 --- /dev/null +++ b/Zend/tests/bug80781.phpt @@ -0,0 +1,31 @@ +--TEST-- +Bug #80781: Error handler that throws ErrorException infinite loop +--FILE-- +<?php + +function handle(int $severity, string $message, string $file, int $line): bool { + if((error_reporting() & $severity) !== 0) { + throw new \ErrorException($message, 0, $severity, $file, $line); + } + + return true; // stfu operator +} + +set_error_handler('handle'); + +function getPlugin(string $plugin) : bool{ + return false; +} + +$data = []; +$array = []; +if (isset($array[$data]) or getPlugin($data)) { + +} + +?> +--EXPECTF-- +Fatal error: Uncaught TypeError: Illegal offset type in isset or empty in %s:%d +Stack trace: +#0 {main} + thrown in %s on line %d |