Commit ee3beccbd1 for wordpress.org

commit ee3beccbd150fce4fb508c7a597d876b6dfc1693
Author: Sergey Biryukov <sergeybiryukov.ru@gmail.com>
Date:   Fri Jul 26 07:56:13 2024 +0000

    General: Cast `$max_depth` and `$depth` to an integer in the `Walker` class.

    This ensures that the arguments are correctly interpreted when passed as a query string, i.e. when `wp_parse_args()` is involved. For example, `wp_list_pages( 'depth=0' )` should display a list of all pages to the maximum depth.

    Follow-up to [57848].

    Props freibergergarcia, peterwilsoncc, ahortin.
    Fixes #61749.
    Built from https://develop.svn.wordpress.org/trunk@58812


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

diff --git a/wp-includes/class-wp-walker.php b/wp-includes/class-wp-walker.php
index ff5eac2f50..df67921c27 100644
--- a/wp-includes/class-wp-walker.php
+++ b/wp-includes/class-wp-walker.php
@@ -135,6 +135,9 @@ class Walker {
 			return;
 		}

+		$max_depth = (int) $max_depth;
+		$depth     = (int) $depth;
+
 		$id_field = $this->db_fields['id'];
 		$id       = $element->$id_field;

@@ -191,6 +194,8 @@ class Walker {
 	public function walk( $elements, $max_depth, ...$args ) {
 		$output = '';

+		$max_depth = (int) $max_depth;
+
 		// Invalid parameter or nothing to walk.
 		if ( $max_depth < -1 || empty( $elements ) ) {
 			return $output;
@@ -285,12 +290,14 @@ class Walker {
 	 * @return string XHTML of the specified page of elements.
 	 */
 	public function paged_walk( $elements, $max_depth, $page_num, $per_page, ...$args ) {
+		$output = '';
+
+		$max_depth = (int) $max_depth;
+
 		if ( empty( $elements ) || $max_depth < -1 ) {
-			return '';
+			return $output;
 		}

-		$output = '';
-
 		$parent_field = $this->db_fields['parent'];

 		$count = -1;
diff --git a/wp-includes/version.php b/wp-includes/version.php
index c28e9d35db..5877f19465 100644
--- a/wp-includes/version.php
+++ b/wp-includes/version.php
@@ -16,7 +16,7 @@
  *
  * @global string $wp_version
  */
-$wp_version = '6.7-alpha-58811';
+$wp_version = '6.7-alpha-58812';

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