From 997e15878ad72e773ca3835b756daf02d0f7334d Mon Sep 17 00:00:00 2001 From: Bastien Bouclet Date: Sun, 8 Sep 2019 19:55:23 +0200 Subject: HDB: Fix out of bounds read in HDBGame::setInMapName --- engines/hdb/hdb.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'engines/hdb') diff --git a/engines/hdb/hdb.cpp b/engines/hdb/hdb.cpp index 82e377df85..b7fdf304ba 100644 --- a/engines/hdb/hdb.cpp +++ b/engines/hdb/hdb.cpp @@ -849,7 +849,7 @@ void HDBGame::drawLoadingScreen() { struct MapName { const char *fName, *printName; -} mapNames[] = { +} static mapNames[] = { { "MAP00", "HDS Colby Jack" }, { "MAP01", "Servandrones, Inc." }, { "MAP02", "Pushbot Storage" }, @@ -884,15 +884,12 @@ struct MapName { }; void HDBGame::setInMapName(const char *name) { - int i = 0; - - while (mapNames[i].fName) { + for (uint i = 0; i < ARRAYSIZE(mapNames); i++) { if (!scumm_stricmp(name, mapNames[i].fName)) { memset(&_inMapName, 0, 32); strcpy(_inMapName, mapNames[i].printName); return; } - i++; } memset(&_inMapName, 0, 32); -- cgit v1.2.3