From ff4e29fb9d048162f0d4d28b0c3e818ed2c1fd8e Mon Sep 17 00:00:00 2001 From: stilez Date: Sat, 27 May 2017 14:14:46 +0100 Subject: Don't create system notices for errors in user-entered ad-hoc PHP (diag_command.php) --- src/etc/inc/config.lib.inc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/etc') diff --git a/src/etc/inc/config.lib.inc b/src/etc/inc/config.lib.inc index 40c3150..b1174fa 100644 --- a/src/etc/inc/config.lib.inc +++ b/src/etc/inc/config.lib.inc @@ -908,7 +908,8 @@ function pfSense_clear_globals() { $error = error_get_last(); - if ($error !== NULL) { + // Errors generated by user code (diag_commands.php) are identified by path and not added to notices + if ($error !== NULL && !preg_match('^' . $g['tmp_path_user_code'] . '/[^/]{1,16}$', $error['file'])) { if (in_array($error['type'], array(E_ERROR, E_COMPILE_ERROR, E_CORE_ERROR, E_RECOVERABLE_ERROR))) { $errorstr = "PHP ERROR: Type: {$error['type']}, File: {$error['file']}, Line: {$error['line']}, Message: {$error['message']}"; print($errorstr); -- cgit v1.1