mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Fixed bug #25922 (In error handler, modifying 5th arg (errcontext) may result in seg fault)
This commit is contained in:
@@ -980,6 +980,9 @@ ZEND_API void zend_error(int type, const char *format, ...)
|
||||
EG(user_error_handler) = NULL;
|
||||
|
||||
if (call_user_function_ex(CG(function_table), NULL, orig_user_error_handler, &retval, 5, params, 1, NULL TSRMLS_CC)==SUCCESS) {
|
||||
if (Z_TYPE_P(z_context) != IS_ARRAY || z_context->value.ht != EG(active_symbol_table)) {
|
||||
zend_error(E_ERROR, "User error handler must not modify error context");
|
||||
}
|
||||
if (retval) {
|
||||
if (Z_TYPE_P(retval) == IS_BOOL && Z_LVAL_P(retval) == 0) {
|
||||
zend_error_cb(type, error_filename, error_lineno, format, args);
|
||||
|
||||
@@ -17,5 +17,5 @@ function test()
|
||||
}
|
||||
test();
|
||||
?>
|
||||
--EXPECT--
|
||||
Undefined index here: ''
|
||||
--EXPECTF--
|
||||
Fatal error: User error handler must not modify error context in %sbug25922.php on line 11
|
||||
|
||||
Reference in New Issue
Block a user