aboutsummaryrefslogtreecommitdiff
path: root/engines/hdb
diff options
context:
space:
mode:
authorD G Turner2019-09-14 02:27:06 +0100
committerD G Turner2019-09-14 02:27:06 +0100
commit64e2a21a176861b1cf5969aa9e2631523becb3e8 (patch)
tree8e3f3c2ebdf5f2ac75b2048510432bac62590277 /engines/hdb
parent817bcc4c24047392502565670da7cb37ab42aea7 (diff)
downloadscummvm-rg350-64e2a21a176861b1cf5969aa9e2631523becb3e8.tar.gz
scummvm-rg350-64e2a21a176861b1cf5969aa9e2631523becb3e8.tar.bz2
scummvm-rg350-64e2a21a176861b1cf5969aa9e2631523becb3e8.zip
HDB: Avoid String Buffer Overruns from Save Load Code
Diffstat (limited to 'engines/hdb')
-rw-r--r--engines/hdb/saveload.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/engines/hdb/saveload.cpp b/engines/hdb/saveload.cpp
index 89bb4a11e6..1af7c63fc0 100644
--- a/engines/hdb/saveload.cpp
+++ b/engines/hdb/saveload.cpp
@@ -66,9 +66,9 @@ Common::Error HDBGame::saveGameState(int slot, const Common::String &desc) {
Graphics::saveThumbnail(*out);
_saveHeader.fileSlot = 0;
- strcpy(_saveHeader.saveID, saveFileName.c_str());
+ Common::strlcpy(_saveHeader.saveID, saveFileName.c_str(), sizeof(_saveHeader.saveID));
_saveHeader.seconds = _timeSeconds + (_timePlayed / 1000);
- strcpy(_saveHeader.mapName, _inMapName);
+ Common::strlcpy(_saveHeader.mapName, _inMapName, sizeof(_saveHeader.mapName));
// Actual Save Data
saveGame(out);
@@ -174,7 +174,7 @@ void HDBGame::loadGame(Common::InSaveFile *in) {
g_hdb->_sound->stopMusic();
_saveHeader.seconds = _timeSeconds;
- strcpy(_saveHeader.mapName, _inMapName);
+ Common::strlcpy(_saveHeader.mapName, _inMapName, sizeof(_saveHeader.mapName));
// Load Map Object Data
debug(1, "HDBGame::loadGame: map at %u", in->pos());