summaryrefslogtreecommitdiff
path: root/src/strings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/strings.cpp')
-rw-r--r--src/strings.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/strings.cpp b/src/strings.cpp
index b2318ccc4..3318acdd4 100644
--- a/src/strings.cpp
+++ b/src/strings.cpp
@@ -1307,7 +1307,16 @@ bool LanguagePackHeader::IsValid() const
{
return
this->ident == TO_LE32(LanguagePackHeader::IDENT) &&
- this->version == TO_LE32(LANGUAGE_PACK_VERSION);
+ this->version == TO_LE32(LANGUAGE_PACK_VERSION) &&
+ this->plural_form < LANGUAGE_MAX_PLURAL &&
+ this->text_dir <= 1 &&
+ this->newgrflangid < MAX_LANG &&
+ StrValid(this->name, lastof(this->name)) &&
+ StrValid(this->own_name, lastof(this->own_name)) &&
+ StrValid(this->isocode, lastof(this->isocode)) &&
+ StrValid(this->digit_group_separator, lastof(this->digit_group_separator)) &&
+ StrValid(this->digit_group_separator_currency, lastof(this->digit_group_separator_currency)) &&
+ StrValid(this->digit_decimal_separator, lastof(this->digit_decimal_separator));
}
bool ReadLanguagePack(int lang_index)