Avoid code duplication for Language::isValidCode
authorAntoine Musso <hashar@users.mediawiki.org>
Sat, 5 Feb 2011 22:55:09 +0000 (22:55 +0000)
committerAntoine Musso <hashar@users.mediawiki.org>
Sat, 5 Feb 2011 22:55:09 +0000 (22:55 +0000)
r81335 changed the way we validate language code by introducing:
  strcspn( $code, "/\\\000" ) !== strlen( $code )

That code was later made a function in r81340 but some conditional tests were
not updated to reflect this change.

languages/Language.php

index 3b87db7..9631ce2 100644 (file)
@@ -156,9 +156,7 @@ class Language {
                static $recursionLevel = 0;
 
                // Protect against path traversal below
-               if ( !Language::isValidCode( $code ) 
-                       || strcspn( $code, "/\\\000" ) !== strlen( $code ) ) 
-               {
+               if ( !Language::isValidCode( $code ) ) {
                        throw new MWException( "Invalid language code \"$code\"" );
                }
 
@@ -2829,9 +2827,7 @@ class Language {
         */
        static function getFileName( $prefix = 'Language', $code, $suffix = '.php' ) {
                // Protect against path traversal
-               if ( !Language::isValidCode( $code ) 
-                       || strcspn( $code, "/\\\000" ) !== strlen( $code ) ) 
-               {
+               if ( !Language::isValidCode( $code ) ) {
                        throw new MWException( "Invalid language code \"$code\"" );
                }