From b0aefcff4a11429d668cde831f75ab1b88863181 Mon Sep 17 00:00:00 2001 From: Peter Wilson Date: Fri, 1 Apr 2022 05:54:37 +0000 Subject: [PATCH] General: Validate input of `wp_list_pluck()`. `wp_list_pluck()` is used by WordPress to pluck items from a list. Of course, this requires a list. This validates the input of `wp_list_pluck()` to ensure it is a list. This matches the behaviour of `wp_list_sort()` and `wp_filter_object_list()`. Props marv2, davidbaumwald, mkox, SergeyBiryukov, dd32. Fixes #54751. git-svn-id: https://develop.svn.wordpress.org/trunk@53045 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/functions.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/wp-includes/functions.php b/src/wp-includes/functions.php index 7f57d234c1..ce28ff7a9a 100644 --- a/src/wp-includes/functions.php +++ b/src/wp-includes/functions.php @@ -5176,6 +5176,10 @@ function wp_list_filter( $list, $args = array(), $operator = 'AND' ) { * `$list` will be preserved in the results. */ function wp_list_pluck( $list, $field, $index_key = null ) { + if ( ! is_array( $list ) ) { + return array(); + } + $util = new WP_List_Util( $list ); return $util->pluck( $field, $index_key );