From bdccfa3a0347801d8e1ca827122f2a1f81095eb9 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Wed, 30 Sep 2020 12:20:03 +0000 Subject: [PATCH] Code Modernization: Check if the file to retrieve metadata from in `get_file_data()` was successfully opened. This avoids a fatal error on PHP 8 caused by passing a `false` value to `fread()`, instead of a file resource. See #50913. Built from https://develop.svn.wordpress.org/trunk@49073 git-svn-id: http://core.svn.wordpress.org/trunk@48835 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/functions.php | 12 ++++++++---- wp-includes/version.php | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/wp-includes/functions.php b/wp-includes/functions.php index 68d865089f..fe68d7f760 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -6040,11 +6040,15 @@ function get_file_data( $file, $default_headers, $context = '' ) { // We don't need to write to the file, so just open for reading. $fp = fopen( $file, 'r' ); - // Pull only the first 8 KB of the file in. - $file_data = fread( $fp, 8 * KB_IN_BYTES ); + if ( $fp ) { + // Pull only the first 8 KB of the file in. + $file_data = fread( $fp, 8 * KB_IN_BYTES ); - // PHP will close file handle, but we are good citizens. - fclose( $fp ); + // PHP will close file handle, but we are good citizens. + fclose( $fp ); + } else { + $file_data = ''; + } // Make sure we catch CR-only line endings. $file_data = str_replace( "\r", "\n", $file_data ); diff --git a/wp-includes/version.php b/wp-includes/version.php index ff7dfb6f77..8a841a477e 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -13,7 +13,7 @@ * * @global string $wp_version */ -$wp_version = '5.6-alpha-49072'; +$wp_version = '5.6-alpha-49073'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.