mirror of
https://github.com/php/php-src.git
synced 2026-03-30 04:02:19 +02:00
I'm removing the argument entirely here, but we might want to change this to passing null or and empty array instead, if the impact of dropping it entirely turns out to be too large. This was deprecated as part of https://wiki.php.net/rfc/deprecations_php_7_2 as a doc-only deprecation.
41 lines
982 B
PHP
41 lines
982 B
PHP
--TEST--
|
|
Bug #64960 (Segfault in gc_zval_possible_root)
|
|
--FILE--
|
|
<?php
|
|
// this makes ob_end_clean raise an error
|
|
ob_end_flush();
|
|
|
|
class ExceptionHandler {
|
|
public function __invoke (Exception $e)
|
|
{
|
|
// this triggers the custom error handler
|
|
ob_end_clean();
|
|
}
|
|
}
|
|
|
|
// this must be a class, closure does not trigger segfault
|
|
set_exception_handler(new ExceptionHandler());
|
|
|
|
// exception must be throwed from error handler.
|
|
set_error_handler(function()
|
|
{
|
|
$e = new Exception;
|
|
$e->_trace = debug_backtrace();
|
|
|
|
throw $e;
|
|
});
|
|
|
|
// trigger error handler
|
|
$a['waa'];
|
|
?>
|
|
--EXPECTF--
|
|
Notice: ob_end_flush(): failed to delete and flush buffer. No buffer to delete or flush in %sbug64960.php on line 3
|
|
|
|
Fatal error: Uncaught Exception in %sbug64960.php:19
|
|
Stack trace:
|
|
#0 [internal function]: {closure}(8, 'ob_end_clean():...', '%s', 9)
|
|
#1 %sbug64960.php(9): ob_end_clean()
|
|
#2 [internal function]: ExceptionHandler->__invoke(Object(Exception))
|
|
#3 {main}
|
|
thrown in %sbug64960.php on line 19
|