Fix possible out of bounds access.

svn-id: r48972
This commit is contained in:
Johannes Schickel 2010-05-08 21:25:18 +00:00
parent 9529dfa322
commit fef4060a22
2 changed files with 6 additions and 6 deletions

View File

@ -329,7 +329,7 @@ const TypeTable gameTable[] = {
};
byte getGameID(int game) {
return std::find(gameTable, gameTable + ARRAYSIZE(gameTable), game)->value;
return std::find(gameTable, gameTable + ARRAYSIZE(gameTable) - 1, game)->value;
}
const TypeTable languageTable[] = {
@ -344,7 +344,7 @@ const TypeTable languageTable[] = {
};
byte getLanguageID(int lang) {
return std::find(languageTable, languageTable + ARRAYSIZE(languageTable), lang)->value;
return std::find(languageTable, languageTable + ARRAYSIZE(languageTable) - 1, lang)->value;
}
const TypeTable platformTable[] = {
@ -357,7 +357,7 @@ const TypeTable platformTable[] = {
};
byte getPlatformID(int platform) {
return std::find(platformTable, platformTable + ARRAYSIZE(platformTable), platform)->value;
return std::find(platformTable, platformTable + ARRAYSIZE(platformTable) - 1, platform)->value;
}
const TypeTable specialTable[] = {
@ -369,7 +369,7 @@ const TypeTable specialTable[] = {
};
byte getSpecialID(int special) {
return std::find(specialTable, specialTable + ARRAYSIZE(specialTable), special)->value;
return std::find(specialTable, specialTable + ARRAYSIZE(specialTable) - 1, special)->value;
}
// filename processing

View File

@ -108,7 +108,7 @@ const TypeTable typeTable[] = {
{ kLolTypeSpellData, 9 },
{ kLolTypeCompassData, 10 },
{ kLolTypeFlightShpData, 11 },
{ -1, 0 }
{ -1, 1 }
};
} // end of anonymous namespace
@ -124,7 +124,7 @@ const ExtractType *findExtractType(const int type) {
}
byte getTypeID(int type) {
return std::find(typeTable, typeTable + ARRAYSIZE(typeTable), type)->value;
return std::find(typeTable, typeTable + ARRAYSIZE(typeTable) - 1, type)->value;
}
// Extractor implementation