Skip to content

Commit d6f0250

Browse files
committed
Linux/MacOSX: Only load valid XML language files (Language.langid.xml format with langid one of the predefined language identifiers)
1 parent 380ca35 commit d6f0250

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

src/Main/Forms/PreferencesDialog.cpp

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -130,13 +130,22 @@ namespace VeraCrypt
130130

131131
if (wxDir::Exists(languagesFolder.GetName())) {
132132
size_t langCount;
133-
langCount = wxDir::GetAllFiles(languagesFolder.GetName(), &langArray, wxEmptyString, wxDIR_FILES);
133+
langCount = wxDir::GetAllFiles(languagesFolder.GetName(), &langArray, "*.xml", wxDIR_FILES);
134134
for (size_t i = 0; i < langCount; ++i) {
135135
wxFileName filename(langArray[i]);
136-
wxString langId = filename.GetName().AfterLast('.');
137-
wxString langNative = langEntries[langId];
138-
if (!langNative.empty()) {
139-
LanguageListBox->Append(langNative);
136+
137+
// Get the name part of the file (without extension)
138+
wxString basename = filename.GetName();
139+
140+
// Check if the basename matches the pattern "Language.langId"
141+
if (basename.StartsWith("Language.")) {
142+
wxString langId = basename.AfterFirst('.');
143+
144+
// Verify if the language ID exists in langEntries map
145+
wxString langNative = langEntries[langId];
146+
if (!langNative.empty()) {
147+
LanguageListBox->Append(langNative);
148+
}
140149
}
141150
}
142151
}

0 commit comments

Comments
 (0)