WordPress.org

Make WordPress Core

Ticket #39915: 39915.2.diff

File 39915.2.diff, 1.4 KB (added by jeremyfelt, 2 years ago)
  • src/wp-includes/ms-functions.php

     
    354354
    355355        $is_email_address_unsafe = false;
    356356
    357         if ( $banned_names && is_array( $banned_names ) ) {
     357        if ( $banned_names && is_array( $banned_names ) && false !== strpos( $user_email, '@', 1 ) ) {
    358358                $banned_names = array_map( 'strtolower', $banned_names );
    359359                $normalized_email = strtolower( $user_email );
    360360
  • tests/phpunit/tests/multisite/isEmailAddressUnsafe.php

     
    120120                        ),
    121121                );
    122122        }
     123
     124        public function test_email_with_only_top_level_domain_returns_safe() {
     125                update_site_option( 'banned_email_domains', 'bar.com' );
     126                $safe = is_email_address_unsafe( 'email@localhost' );
     127                delete_site_option( 'banned_email_domains' );
     128
     129                $this->assertFalse( $safe );
     130        }
     131
     132        public function test_invalid_email_without_domain_returns_safe() {
     133                update_site_option( 'banned_email_domains', 'bar.com' );
     134                $safe = is_email_address_unsafe( 'invalid-email' );
     135                delete_site_option( 'bar.com' );
     136
     137                $this->assertFalse( $safe );
     138        }
    123139}
    124140
    125141endif;