diff --git a/home.php b/home.php
index 3ccb3519..9759e663 100644
--- a/home.php
+++ b/home.php
@@ -234,7 +234,7 @@ function ogpHome()
if ($isAdmin) {
$xml_errors = function_exists('gsp_get_xml_errors') ? gsp_get_xml_errors() : array();
if (!empty($xml_errors)) {
- echo "
";
+ echo "
";
echo "
⚠ One or more game config XML files failed to load and have been skipped:";
foreach ($xml_errors as $xe) {
echo "" . htmlspecialchars(basename($xe['file']), ENT_QUOTES, 'UTF-8') . ": "
diff --git a/modules/config_games/server_config_parser.php b/modules/config_games/server_config_parser.php
index b3f59133..b7121659 100644
--- a/modules/config_games/server_config_parser.php
+++ b/modules/config_games/server_config_parser.php
@@ -63,14 +63,6 @@ if (!function_exists('gsp_collect_xml_error')) {
$log_message = "[GSP] $title" . (empty($details) ? '' : ' Details: ' . $details);
error_log($log_message);
- static $errors = [];
- $errors[] = array(
- 'file' => $file,
- 'title' => $title,
- 'details' => $details,
- );
- // Store in a predictable global so callers (e.g. home.php) can read it
- // even across include boundaries without having to call the function.
$GLOBALS['_gsp_xml_errors'][] = array(
'file' => $file,
'title' => $title,
diff --git a/modules/faq/rss_php.php b/modules/faq/rss_php.php
index 328d5537..7c6ec8f7 100644
--- a/modules/faq/rss_php.php
+++ b/modules/faq/rss_php.php
@@ -76,6 +76,7 @@ class rss_php {
$rss = ltrim($rss);
// Reject obviously non-XML content early to avoid noisy libxml warnings.
+ // Minimum well-formed XML is at least "" (4 bytes); require one more.
if(strlen($rss) < 5 || $rss[0] !== '<') {
return;
}