1
0
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:
Dmitry Stogov
2005-06-09 10:32:08 +00:00
parent f3ebf7dd91
commit e0b0ae9ce7
2 changed files with 5 additions and 2 deletions

View File

@@ -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);

View File

@@ -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