From 432b9812bf4ea7b3fcb72472561943c95c3c7b2f Mon Sep 17 00:00:00 2001 From: gaelcoral Date: Mon, 10 Nov 2025 21:47:28 -0800 Subject: [PATCH] buffer size fix --- src/common/language.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/common/language.cpp b/src/common/language.cpp index df6c2e39a47..b994cac93e3 100644 --- a/src/common/language.cpp +++ b/src/common/language.cpp @@ -105,14 +105,11 @@ ELanguage PchLanguageICUCodeToELanguage( const char *pchICUCode, ELanguage eDefa if ( !pchICUCode ) return eDefault; - // Match to no more than the param length so either a short 'en' or - // full 'zh-Hant' can match - int nLen = Q_strlen( pchICUCode ); - - // we only have 5 character ICU codes so this should be enough room - char rchCleanedCode[ 6 ]; + // we only have 5 character ICU codes but 'es_419' has 6 characters, so we increase the buffer to 8 + char rchCleanedCode[ 8 ]; Q_strncpy( rchCleanedCode, pchICUCode, Q_ARRAYSIZE( rchCleanedCode ) ); - if( nLen >= 3 && rchCleanedCode[ 2 ] == '-' ) + int nLen = ( int ) Q_strlen( rchCleanedCode ); + if ( nLen >= 3 && rchCleanedCode[ 2 ] == '-' ) { rchCleanedCode[ 2 ] = '_'; }