Commit 7c1295fdb9 for wordpress.org

commit 7c1295fdb93fe4cf66a3db26b2e340f0d5e3448d
Author: hellofromTonya <hellofromTonya@git.wordpress.org>
Date:   Wed Jul 24 16:23:17 2024 +0000

    Customize: Sanitize autofocus URL parameter as an array.

    [58069] introduced calling `sanitize_text_field()` with `$_REQUEST['autofocus']` (which is an array) and setting its default to a `string`. This fix restores the `array` data type for `autofocus`.

    The fix also relocates the unsplash for `url`, `return`, and `autofocus` before sanitizing.

    Follow-up to [58069], [34269], [29026], [21028].

    Props jamesros161, swissspidy, dlh, audrasjb, hellofromTonya, ironprogrammer.
    Fixes #61561.
    Built from https://develop.svn.wordpress.org/trunk@58804


    git-svn-id: http://core.svn.wordpress.org/trunk@58200 1a063a9b-81f0-0310-95a4-ce76da25c4cd

diff --git a/wp-admin/customize.php b/wp-admin/customize.php
index 2a53480fee..40857031a7 100644
--- a/wp-admin/customize.php
+++ b/wp-admin/customize.php
@@ -84,18 +84,20 @@ if ( $wp_customize->changeset_post_id() ) {
 	}
 }

-$url       = ! empty( $_REQUEST['url'] ) ? sanitize_text_field( $_REQUEST['url'] ) : '';
-$return    = ! empty( $_REQUEST['return'] ) ? sanitize_text_field( $_REQUEST['return'] ) : '';
-$autofocus = ! empty( $_REQUEST['autofocus'] ) ? sanitize_text_field( $_REQUEST['autofocus'] ) : '';
+$url       = ! empty( $_REQUEST['url'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['url'] ) ) : '';
+$return    = ! empty( $_REQUEST['return'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['return'] ) ) : '';
+$autofocus = ! empty( $_REQUEST['autofocus'] ) && is_array( $_REQUEST['autofocus'] )
+	? array_map( 'sanitize_text_field', wp_unslash( $_REQUEST['autofocus'] ) )
+	: array();

 if ( ! empty( $url ) ) {
-	$wp_customize->set_preview_url( wp_unslash( $url ) );
+	$wp_customize->set_preview_url( $url );
 }
 if ( ! empty( $return ) ) {
-	$wp_customize->set_return_url( wp_unslash( $return ) );
+	$wp_customize->set_return_url( $return );
 }
-if ( ! empty( $autofocus ) && is_array( $autofocus ) ) {
-	$wp_customize->set_autofocus( wp_unslash( $autofocus ) );
+if ( ! empty( $autofocus ) ) {
+	$wp_customize->set_autofocus( $autofocus );
 }

 $registered             = $wp_scripts->registered;
diff --git a/wp-includes/version.php b/wp-includes/version.php
index 87e1174e91..2d03b8f9c1 100644
--- a/wp-includes/version.php
+++ b/wp-includes/version.php
@@ -16,7 +16,7 @@
  *
  * @global string $wp_version
  */
-$wp_version = '6.7-alpha-58803';
+$wp_version = '6.7-alpha-58804';

 /**
  * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.