diff options
author | Thierry Crozat | 2018-12-28 21:13:40 +0100 |
---|---|---|
committer | Thierry Crozat | 2018-12-28 21:13:40 +0100 |
commit | 7c7cb6c836ad901b31849782238cd9226dc651ec (patch) | |
tree | 835b1973a39207ac166eb2b9e679fa227bce2e5a /engines | |
parent | 287f40358e0cf43335b2727d4e2c5573d4c89246 (diff) | |
download | scummvm-rg350-7c7cb6c836ad901b31849782238cd9226dc651ec.tar.gz scummvm-rg350-7c7cb6c836ad901b31849782238cd9226dc651ec.tar.bz2 scummvm-rg350-7c7cb6c836ad901b31849782238cd9226dc651ec.zip |
GLK: Fix out of bound access in detection code
This caused some random asserts when for example trying to add any
game as Common::Str::hasSuffixIgnoreCase could be called with a null
pointer.
Diffstat (limited to 'engines')
-rw-r--r-- | engines/glk/alan2/detection.cpp | 4 | ||||
-rw-r--r-- | engines/glk/magnetic/detection.cpp | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/engines/glk/alan2/detection.cpp b/engines/glk/alan2/detection.cpp index f4be3f1c16..d51a109c5e 100644 --- a/engines/glk/alan2/detection.cpp +++ b/engines/glk/alan2/detection.cpp @@ -46,7 +46,7 @@ Alan2Descriptor Alan2MetaEngine::findGame(const char *gameId) { } bool Alan2MetaEngine::detectGames(const Common::FSList &fslist, DetectedGames &gameList) { - const char *const EXTENSIONS[3] = { ".acd", ".dat" }; + const char *const EXTENSIONS[2] = { ".acd", ".dat" }; // Loop through the files of the folder for (Common::FSList::const_iterator file = fslist.begin(); file != fslist.end(); ++file) { @@ -55,7 +55,7 @@ bool Alan2MetaEngine::detectGames(const Common::FSList &fslist, DetectedGames &g continue; Common::String filename = file->getName(); bool hasExt = false; - for (int idx = 0; idx < 3 && !hasExt; ++idx) + for (int idx = 0; idx < 2 && !hasExt; ++idx) hasExt = filename.hasSuffixIgnoreCase(EXTENSIONS[idx]); if (!hasExt) continue; diff --git a/engines/glk/magnetic/detection.cpp b/engines/glk/magnetic/detection.cpp index 279f509a39..91d63ccace 100644 --- a/engines/glk/magnetic/detection.cpp +++ b/engines/glk/magnetic/detection.cpp @@ -46,7 +46,7 @@ MagneticDescriptor MagneticMetaEngine::findGame(const char *gameId) { } bool MagneticMetaEngine::detectGames(const Common::FSList &fslist, DetectedGames &gameList) { - const char *const EXTENSIONS[3] = { ".magnetic" }; + const char *const EXTENSIONS[1] = { ".magnetic" }; // Loop through the files of the folder for (Common::FSList::const_iterator file = fslist.begin(); file != fslist.end(); ++file) { @@ -55,7 +55,7 @@ bool MagneticMetaEngine::detectGames(const Common::FSList &fslist, DetectedGames continue; Common::String filename = file->getName(); bool hasExt = false; - for (int idx = 0; idx < 3 && !hasExt; ++idx) + for (int idx = 0; idx < 1 && !hasExt; ++idx) hasExt = filename.hasSuffixIgnoreCase(EXTENSIONS[idx]); if (!hasExt) continue; |