From 6219eb95bfbefb646b5c4d13fb8dc2b22d6835d3 Mon Sep 17 00:00:00 2001 From: Peter Wilson Date: Fri, 5 Aug 2022 05:49:11 +0000 Subject: [PATCH] Sitemaps: Prevent invalid provider names throwing errors. Validate the requested sitemap is a string before attempting to use it in a provider. This prevents `WP_Sitemaps_Registry::get_provider()` from triggering a fatal error in more recent versions of PHP. The errors can be triggered by items outside the site owner or developers control (such as a user visiting `?sitemap[foo]=bar`) so the code fails silently to avoid filling error logs with unfixable errors. Props costdev, dd32. Fixes #56336. Built from https://develop.svn.wordpress.org/trunk@53838 git-svn-id: http://core.svn.wordpress.org/trunk@53397 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/sitemaps/class-wp-sitemaps-registry.php | 2 +- wp-includes/version.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/wp-includes/sitemaps/class-wp-sitemaps-registry.php b/wp-includes/sitemaps/class-wp-sitemaps-registry.php index 5cb2e2fa45..6edf1dfe5c 100644 --- a/wp-includes/sitemaps/class-wp-sitemaps-registry.php +++ b/wp-includes/sitemaps/class-wp-sitemaps-registry.php @@ -65,7 +65,7 @@ class WP_Sitemaps_Registry { * @return WP_Sitemaps_Provider|null Sitemap provider if it exists, null otherwise. */ public function get_provider( $name ) { - if ( ! isset( $this->providers[ $name ] ) ) { + if ( ! is_string( $name ) || ! isset( $this->providers[ $name ] ) ) { return null; } diff --git a/wp-includes/version.php b/wp-includes/version.php index 6f3c67597d..20edb79d9b 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.1-alpha-53837'; +$wp_version = '6.1-alpha-53838'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.