HTTP API: Ensure value returned from `'http_allowed_safe_ports'` is an array to avoid PHP 8+ TypeError fatal error.

Adds an `is_array()` check before the `in_array()`. Why? `in_array()` requires a array for the haystack. Any other data type will cause a fatal error on PHP 8.0 or higher:

{{{
Fatal error: Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array
}}}

As this is a new filter, this type check properly guards to avoid the fatal error.

Follow-up to [52084].

See #54331.
Built from https://develop.svn.wordpress.org/trunk@52085


git-svn-id: http://core.svn.wordpress.org/trunk@51677 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
hellofromTonya 2021-11-09 22:59:58 +00:00
parent 2f84a45fdf
commit 9d4d3f8fba
2 changed files with 2 additions and 2 deletions

View File

@ -593,7 +593,7 @@ function wp_http_validate_url( $url ) {
* @param string $url Requested URL.
*/
$allowed_ports = apply_filters( 'http_allowed_safe_ports', array( 80, 443, 8080 ), $host, $url );
if ( in_array( $port, $allowed_ports, true ) ) {
if ( is_array( $allowed_ports ) && in_array( $port, $allowed_ports, true ) ) {
return $url;
}

View File

@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
$wp_version = '5.9-alpha-52084';
$wp_version = '5.9-alpha-52085';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.