diff options
Diffstat (limited to 'engines/sci/engine/kfile.cpp')
-rw-r--r-- | engines/sci/engine/kfile.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp index 49ad4caedb..25483b6507 100644 --- a/engines/sci/engine/kfile.cpp +++ b/engines/sci/engine/kfile.cpp @@ -338,7 +338,7 @@ reg_t kFileIOOpen(EngineState *s, int argc, reg_t *argv) { score = Common::String::format("%u%03u", save.highScore, save.lowScore); } - const uint nameLength = strlen(save.name); + const uint nameLength = Common::strnlen(save.name, SCI_MAX_SAVENAME_LENGTH); const uint size = nameLength + /* \r\n */ 2 + score.size(); char *buffer = (char *)malloc(size); memcpy(buffer, save.name, nameLength); @@ -372,7 +372,7 @@ reg_t kFileIOOpen(EngineState *s, int argc, reg_t *argv) { fillSavegameDesc(g_sci->getSavegameName(saveNo), &save); const Common::String avatarId = Common::String::format("%02d", save.avatarId); - const uint nameLength = strlen(save.name); + const uint nameLength = Common::strnlen(save.name, SCI_MAX_SAVENAME_LENGTH); const uint size = nameLength + /* \r\n */ 2 + avatarId.size() + 1; char *buffer = (char *)malloc(size); memcpy(buffer, save.name, nameLength); |