all repos — mgba @ 8f1148498e12197745f62e477d9b8e07382cc72e

mGBA Game Boy Advance Emulator

GB Core: Fix extracting SRAM when none is present
Vicki Pfau vi@endrift.com
Thu, 18 Jun 2020 01:25:48 -0700
commit

8f1148498e12197745f62e477d9b8e07382cc72e

parent

91dd493f954ea2c109e18fc0eb647f5cd7d9217f

2 files changed, 8 insertions(+), 3 deletions(-)

jump to
M CHANGESCHANGES

@@ -24,6 +24,7 @@ Other fixes:

- All: Improve export headers (fixes mgba.io/i/1738) - Core: Ensure ELF regions can be written before trying - Debugger: Don't skip undefined instructions when debugger attached + - GB Core: Fix extracting SRAM when none is present - Qt: Force OpenGL paint engine creation thread (fixes mgba.io/i/1642) - Qt: Fix static compilation in MinGW (fixes mgba.io/i/1769) Misc:
M src/gb/core.csrc/gb/core.c

@@ -822,9 +822,13 @@ *sram = malloc(vf->size(vf));

vf->seek(vf, 0, SEEK_SET); return vf->read(vf, *sram, vf->size(vf)); } - *sram = malloc(gb->sramSize); - memcpy(*sram, gb->memory.sram, gb->sramSize); - return gb->sramSize; + if (gb->sramSize) { + *sram = malloc(gb->sramSize); + memcpy(*sram, gb->memory.sram, gb->sramSize); + return gb->sramSize; + } + *sram = NULL; + return 0; } static bool _GBCoreSavedataRestore(struct mCore* core, const void* sram, size_t size, bool writeback) {