]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/translation.cpp
Fix a segfault caused by wrong textdomain lines in translation files (#11530)
[dragonfireclient.git] / src / translation.cpp
index 55c958fa28e0c75996eb37769ed184bc73f9b052..1e43b0894d5709d1a9b9ed0ea6af067b7f00aa0f 100644 (file)
@@ -64,7 +64,13 @@ void Translations::loadTranslation(const std::string &data)
                        line.resize(line.length() - 1);
 
                if (str_starts_with(line, "# textdomain:")) {
-                       textdomain = utf8_to_wide(trim(str_split(line, ':')[1]));
+                       auto parts = str_split(line, ':');
+                       if (parts.size() < 2) {
+                               errorstream << "Invalid textdomain translation line \"" << line
+                                               << "\"" << std::endl;
+                               continue;
+                       }
+                       textdomain = utf8_to_wide(trim(parts[1]));
                }
                if (line.empty() || line[0] == '#')
                        continue;