TINSEL: Fix illegal memory reads.

In case of "unnamed" case (see line 582) we were memcpy'ing 31 byte from
the heap.
This commit is contained in:
Eugene Sandulenko 2016-05-31 13:36:37 +02:00
parent 89890523c2
commit f225442ad0

View file

@ -594,8 +594,8 @@ static void DoSave() {
hdr.id = SAVEGAME_ID;
hdr.size = SAVEGAME_HEADER_SIZE;
hdr.ver = CURRENT_VER;
memcpy(hdr.desc, g_SaveSceneDesc, SG_DESC_LEN);
hdr.desc[SG_DESC_LEN - 1] = 0;
memset(hdr.desc, 0, SG_DESC_LEN);
Common::strlcpy(hdr.desc, g_SaveSceneDesc, SG_DESC_LEN);
g_system->getTimeAndDate(hdr.dateTime);
hdr.scnFlag = _vm->getFeatures() & GF_SCNFILES;
hdr.language = _vm->_config->_language;