diff options
Diffstat (limited to 'phpBB/includes/error_collector.php')
| -rw-r--r-- | phpBB/includes/error_collector.php | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/phpBB/includes/error_collector.php b/phpBB/includes/error_collector.php index 55834f354c..534df27ece 100644 --- a/phpBB/includes/error_collector.php +++ b/phpBB/includes/error_collector.php @@ -42,6 +42,8 @@ class phpbb_error_collector function format_errors() { + $phpbb_root_path = phpbb_realpath(dirname(__FILE__) . '/../'); + $text = ''; foreach ($this->errors as $error) { @@ -49,13 +51,15 @@ class phpbb_error_collector { $text .= "<br />\n"; } + list($errno, $msg_text, $errfile, $errline) = $error; - $text .= "Errno $errno: $msg_text"; - if (defined('DEBUG_EXTRA') || defined('IN_INSTALL')) - { - $text .= " at $errfile line $errline"; - } + + // Prevent leakage of local path to phpBB install + $errfile = str_replace(array($phpbb_root_path, '\\'), array('', '/'), $errfile); + + $text .= "Errno $errno: $msg_text at $errfile line $errline"; } + return $text; } } |
