From 64e2a21a176861b1cf5969aa9e2631523becb3e8 Mon Sep 17 00:00:00 2001 From: D G Turner Date: Sat, 14 Sep 2019 02:27:06 +0100 Subject: HDB: Avoid String Buffer Overruns from Save Load Code --- engines/hdb/saveload.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'engines') 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()); -- cgit v1.2.3