GB Core: Fix extracting SRAM when none is present
Vicki Pfau vi@endrift.com
Thu, 18 Jun 2020 01:25:48 -0700
2 files changed,
8 insertions(+),
3 deletions(-)
M
CHANGES
→
CHANGES
@@ -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.c
→
src/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) {