From 6ab819327919874595767598ccd10f1d34a36913 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Mon, 10 Aug 2020 00:09:02 -0700 Subject: [PATCH] Core: Fix reported ROM size when a fixed buffer size is used --- CHANGES | 1 + src/core/core.c | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index 01a5133f4..cf5d717fc 100644 --- a/CHANGES +++ b/CHANGES @@ -30,6 +30,7 @@ Other fixes: - 3DS: Fix crash with libctru 2.0 when exiting - All: Improve export headers (fixes mgba.io/i/1738) - Core: Ensure ELF regions can be written before trying + - Core: Fix reported ROM size when a fixed buffer size is used - Debugger: Don't skip undefined instructions when debugger attached - FFmpeg: Fix some small memory leaks - FFmpeg: Fix encoding of time base diff --git a/src/core/core.c b/src/core/core.c index e8cf25e82..76c97a927 100644 --- a/src/core/core.c +++ b/src/core/core.c @@ -145,7 +145,10 @@ bool mCorePreloadVFCB(struct mCore* core, struct VFile* vf, void (cb)(size_t, si #ifdef FIXED_ROM_BUFFER extern uint32_t* romBuffer; extern size_t romBufferSize; - vfm = VFileFromMemory(romBuffer, romBufferSize); + if (size > romBufferSize) { + size = romBufferSize; + } + vfm = VFileFromMemory(romBuffer, size); #else vfm = VFileMemChunk(NULL, size); #endif