Login and Registration: Set a better default value for $wp_error parameter in login_header().

To prevent someone from passing a string (which would not be added to a new `WP_Error` instance), check for `is_wp_error()` explicitly.

Props desrosj, chetan200891, spyderbytes, lbenicio, sebastien@thivinfo.com, abdullahramzan.
Merges [43457] to the 4.9 branch.
Fixes #44052.
Built from https://develop.svn.wordpress.org/branches/4.9@43458


git-svn-id: http://core.svn.wordpress.org/branches/4.9@43285 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2018-07-16 14:14:27 +00:00
parent 665b28aad0
commit d2342e75d0
2 changed files with 5 additions and 4 deletions

View File

@ -4,7 +4,7 @@
*
* @global string $wp_version
*/
$wp_version = '4.9.8-alpha-43456';
$wp_version = '4.9.8-alpha-43458';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.

View File

@ -28,9 +28,9 @@ if ( force_ssl_admin() && ! is_ssl() ) {
* @param string $title Optional. WordPress login Page title to display in the `<title>` element.
* Default 'Log In'.
* @param string $message Optional. Message to display in header. Default empty.
* @param WP_Error $wp_error Optional. The error to pass. Default empty.
* @param WP_Error $wp_error Optional. The error to pass. Default is a WP_Error instance.
*/
function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
function login_header( $title = 'Log In', $message = '', $wp_error = null ) {
global $error, $interim_login, $action;
// Don't index any of these forms
@ -38,8 +38,9 @@ function login_header( $title = 'Log In', $message = '', $wp_error = '' ) {
add_action( 'login_head', 'wp_login_viewport_meta' );
if ( empty($wp_error) )
if ( ! is_wp_error( $wp_error ) ) {
$wp_error = new WP_Error();
}
// Shake it!
$shake_error_codes = array( 'empty_password', 'empty_email', 'invalid_email', 'invalidcombo', 'empty_username', 'invalid_username', 'incorrect_password' );