From 8de0c23924430e32352bc1d4526f3d4f596b5142 Mon Sep 17 00:00:00 2001 From: zeromus Date: Thu, 6 Mar 2014 14:47:16 +0000 Subject: [PATCH] dont crash if save/loadstating 0 bytes of backup memory --- desmume/src/mc.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/desmume/src/mc.cpp b/desmume/src/mc.cpp index 6d5d73ee4..c0664186e 100644 --- a/desmume/src/mc.cpp +++ b/desmume/src/mc.cpp @@ -119,7 +119,8 @@ bool BackupDevice::save_state(EMUFILE* os) u32 savePos = fpMC->ftell(); std::vector data(fsize); fpMC->fseek(0, SEEK_SET); - fread((char*)&data[0], 1, fsize, fpMC->get_fp()); + if(data.size()!=0) + fread((char*)&data[0], 1, fsize, fpMC->get_fp()); u32 version = 5; //v0 @@ -190,7 +191,8 @@ bool BackupDevice::load_state(EMUFILE* is) fsize = data.size(); #ifndef _DONT_SAVE_BACKUP fpMC->fseek(0, SEEK_SET); - fwrite((char*)&data[0], 1, fsize, fpMC->get_fp()); + if(data.size()!=0) + fwrite((char*)&data[0], 1, fsize, fpMC->get_fp()); ensure(data.size(), fpMC); #endif