Extra validation to prevent asserts from invalid CSL files

This commit is contained in:
Mat Sutcliffe
2020-10-17 17:54:32 +01:00
parent 75f514968f
commit fda0abc94e

View File

@@ -448,6 +448,11 @@ namespace BlackMisc
}
return false;
}
if (package.planes.isEmpty())
{
m_loadingMessages.push_back(CStatusMessage(this).error(u"%1/xsb_aircraft.txt Line %2 : invalid position for command.") << path << lineNum);
return false;
}
if (tokens[1] != "SOLID") { return true; }
@@ -487,6 +492,11 @@ namespace BlackMisc
m_loadingMessages.push_back(m);
return false;
}
if (package.planes.isEmpty())
{
m_loadingMessages.push_back(CStatusMessage(this).error(u"%1/xsb_aircraft.txt Line %2 : invalid position for command.") << path << lineNum);
return false;
}
QString icao = tokens[1];
package.planes.back().icao = icao;
@@ -502,6 +512,11 @@ namespace BlackMisc
m_loadingMessages.push_back(m);
return false;
}
if (package.planes.isEmpty())
{
m_loadingMessages.push_back(CStatusMessage(this).error(u"%1/xsb_aircraft.txt Line %2 : invalid position for command.") << path << lineNum);
return false;
}
QString icao = tokens[1];
package.planes.back().icao = icao;
@@ -519,6 +534,11 @@ namespace BlackMisc
m_loadingMessages.push_back(m);
return false;
}
if (package.planes.isEmpty())
{
m_loadingMessages.push_back(CStatusMessage(this).error(u"%1/xsb_aircraft.txt Line %2 : invalid position for command.") << path << lineNum);
return false;
}
QString icao = tokens[1];
package.planes.back().icao = icao;