Skip to content

Commit 26c9730

Browse files
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. git-svn-id: https://develop.svn.wordpress.org/trunk@52085 602fd350-edb4-49c9-b593-d223f7449a82
1 parent bed3a7c commit 26c9730

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/wp-includes/http.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ function wp_http_validate_url( $url ) {
593593
* @param string $url Requested URL.
594594
*/
595595
$allowed_ports = apply_filters( 'http_allowed_safe_ports', array( 80, 443, 8080 ), $host, $url );
596-
if ( in_array( $port, $allowed_ports, true ) ) {
596+
if ( is_array( $allowed_ports ) && in_array( $port, $allowed_ports, true ) ) {
597597
return $url;
598598
}
599599

0 commit comments

Comments
 (0)