From 1ad033d9254795cac4c6db28e4bcab815e3dfb78 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Mon, 17 Aug 2020 01:00:36 -0700 Subject: [PATCH] Core: Fix memory leak loading ELF files --- CHANGES | 1 + src/core/core.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/CHANGES b/CHANGES index 01541ef70..49589872d 100644 --- a/CHANGES +++ b/CHANGES @@ -9,6 +9,7 @@ Other fixes: - 3DS: Redo video sync to be more precise - 3DS: Fix crash with libctru 2.0 when exiting - Core: Fix reported ROM size when a fixed buffer size is used + - Core: Fix memory leak loading ELF files - GBA: Disable more checks when loading GS save with checks disabled (fixes mgba.io/i/1851) - GBA Core: Fix memory leak when loading symbols - Qt: Add dummy English translation file (fixes mgba.io/i/1469) diff --git a/src/core/core.c b/src/core/core.c index 3ead2daf3..82b31c7af 100644 --- a/src/core/core.c +++ b/src/core/core.c @@ -376,9 +376,11 @@ bool mCoreLoadELF(struct mCore* core, struct ELF* elf) { if (block && bsize >= phdr->p_filesz && esize > phdr->p_offset && esize >= phdr->p_filesz + phdr->p_offset) { memcpy(block, &bytes[phdr->p_offset], phdr->p_filesz); } else { + ELFProgramHeadersDeinit(&ph); return false; } } + ELFProgramHeadersDeinit(&ph); return true; }