From 16741703700f1719519090f9fb748538cb8f49e1 Mon Sep 17 00:00:00 2001 From: rogerman Date: Thu, 19 Mar 2015 22:06:26 +0000 Subject: [PATCH] mc.cpp: - Handle the case where the EMUFILE size is less than the DeSmuME footer size. Allows an in-memory BackupDevice to work with NAND flash saves. --- desmume/src/mc.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/desmume/src/mc.cpp b/desmume/src/mc.cpp index 7310d1efe..8187ae269 100644 --- a/desmume/src/mc.cpp +++ b/desmume/src/mc.cpp @@ -414,6 +414,12 @@ BackupDevice::~BackupDevice() int BackupDevice::readFooter() { + // Check if the footer data exists. + if (fpMC->size() < (strlen(kDesmumeSaveCookie) + strlen(DESMUME_BACKUP_FOOTER_TXT) + 24)) + { + return -1; + } + //scan for desmume save footer const s32 cookieLen = (s32)strlen(kDesmumeSaveCookie); char *sigbuf = new char[cookieLen];