aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/agos/script_pn.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/agos/script_pn.cpp b/engines/agos/script_pn.cpp
index 60a1376f25..61dce0b399 100644
--- a/engines/agos/script_pn.cpp
+++ b/engines/agos/script_pn.cpp
@@ -381,7 +381,8 @@ void AGOSEngine_PN::opn_opcode31() {
case 0:
getFilename();
slot = matchSaveGame(_saveFile, countSaveGames());
- strcpy(bf, genSaveName(slot));
+ strncpy(bf, genSaveName(slot), sizeof(bf));
+ bf[sizeof(bf) - 1] = 0;
break;
case 1:
strcpy(bf, "pn.sav");
@@ -419,9 +420,10 @@ void AGOSEngine_PN::opn_opcode32() {
getFilename();
slot = matchSaveGame(_saveFile, curSlot);
if (slot != -1)
- strcpy(bf, genSaveName(slot));
+ strncpy(bf, genSaveName(slot), sizeof(bf));
else
- strcpy(bf, genSaveName(curSlot));
+ strncpy(bf, genSaveName(curSlot), sizeof(bf));
+ bf[sizeof(bf) - 1] = 0;
break;
case 1:
strcpy(bf, "pn.sav");