Handle possible invalid iterator issue during settings parsing

pull/541/head
Andrei Kortunov 6 years ago
parent 3e20f36953
commit 71227ffc04

@ -338,6 +338,9 @@ bool Config::GameSettings::writeFileWithComments(QFile &file)
if (!comments.empty() && index != -1 && settingRegex.captureCount() >= 2 &&
mUserSettings.find(settingRegex.cap(1)) != mUserSettings.end())
{
if (commentStart == fileCopy.end())
throw std::runtime_error("Config::GameSettings: failed to parse settings - iterator is past of end of settings file");
for (std::vector<QString>::const_iterator it = comments.begin(); it != comments.end(); ++it)
{
*commentStart = *it;

Loading…
Cancel
Save