diff --git a/src/wp-admin/includes/user.php b/src/wp-admin/includes/user.php index 2f348ba841167..27feed03b5f05 100644 --- a/src/wp-admin/includes/user.php +++ b/src/wp-admin/includes/user.php @@ -233,7 +233,10 @@ function edit_user( $user_id = 0 ) { $user_id = wp_update_user( $user ); } else { $user_id = wp_insert_user( $user ); - $notify = isset( $_POST['send_user_notification'] ) ? 'both' : 'admin'; + if ( is_wp_error( $user_id ) ) { + return $user_id; + } + $notify = isset( $_POST['send_user_notification'] ) ? 'both' : 'admin'; /** * Fires after a new user has been created. diff --git a/src/wp-includes/user.php b/src/wp-includes/user.php index 8d4aab98c1b5b..80edc5a2bd19e 100644 --- a/src/wp-includes/user.php +++ b/src/wp-includes/user.php @@ -2412,6 +2412,10 @@ function wp_insert_user( $userdata ) { */ $display_name = apply_filters( 'pre_user_display_name', $display_name ); + if ( mb_strlen( $display_name ) > 250 ) { + return new WP_Error( 'user_display_name_too_long', __( 'Display name may not be longer than 250 characters.' ) ); + } + $description = empty( $userdata['description'] ) ? '' : $userdata['description']; /**