diff --git a/src/gba/gba-thread.c b/src/gba/gba-thread.c index 49d9200af..d46710017 100644 --- a/src/gba/gba-thread.c +++ b/src/gba/gba-thread.c @@ -248,9 +248,8 @@ bool GBAThreadStart(struct GBAThread* threadContext) { strncpy(savedata, threadContext->fname, dotPoint - threadContext->fname + 1); strcat(savedata, "sav"); } else { - savedata = malloc(strlen(threadContext->fname + 5)); - strcpy(savedata, threadContext->fname); - strcat(savedata, "sav"); + savedata = malloc(strlen(threadContext->fname + 5) * sizeof(char)); + sprintf(savedata, "%s.sav", threadContext->fname); } threadContext->save = VFileOpen(savedata, O_RDWR | O_CREAT); free(savedata);