From be03b796fa570d5e8a3a15687a42a72df667b8d3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Niklas=20Laxstr=C3=B6m?= Date: Tue, 7 Jul 2015 14:44:49 +0200 Subject: [PATCH] Disallow qqq as interface language Any page on translatewiki with param setlang=qqq times out. All messages get parsed recursively until parser-template-loop-warning is reached. uselang=qqq is already ignored, see RequestContext::sanitizeLangCode. There is a counterpart to this patch in ULS, where it is changed to use Language::isSupportedLanguage. Bug: T104987 Change-Id: Ie77fe18681dfd5f9089fbaa8090dd9cc1c206da4 --- languages/Language.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/languages/Language.php b/languages/Language.php index 93dd239222..b698bebf43 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -254,10 +254,16 @@ class Language { * @since 1.21 */ public static function isSupportedLanguage( $code ) { - return self::isValidBuiltInCode( $code ) - && ( is_readable( self::getMessagesFileName( $code ) ) - || is_readable( self::getJsonMessagesFileName( $code ) ) - ); + if ( !self::isValidBuiltInCode( $code ) ) { + return false; + } + + if ( $code === 'qqq' ) { + return false; + } + + return is_readable( self::getMessagesFileName( $code ) ) || + is_readable( self::getJsonMessagesFileName( $code ) ); } /** -- 2.20.1