From b12e1a1b6e2c983f522ef1369a6bfb8167b1bf4c Mon Sep 17 00:00:00 2001 From: RSDuck Date: Tue, 25 Aug 2020 18:13:17 +0200 Subject: JIT fastmem: fix out of bounds read seems to fix #727 --- src/ARMJIT_Memory.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/ARMJIT_Memory.cpp b/src/ARMJIT_Memory.cpp index 7885fb7..c5c8f04 100644 --- a/src/ARMJIT_Memory.cpp +++ b/src/ARMJIT_Memory.cpp @@ -524,8 +524,8 @@ bool MapAtAddress(u32 addr) { u32 sectionOffset = offset; bool hasCode = isExecutable && ARMJIT::PageContainsCode(&range[offset / 512]); - while ((!isExecutable || ARMJIT::PageContainsCode(&range[offset / 512]) == hasCode) - && offset < mirrorSize + while (offset < mirrorSize + && (!isExecutable || ARMJIT::PageContainsCode(&range[offset / 512]) == hasCode) && (!skipDTCM || mirrorStart + offset != NDS::ARM9->DTCMBase)) { assert(states[(mirrorStart + offset) >> 12] == memstate_Unmapped); -- cgit v1.2.3 From 9bfaf8682db10d5e1fe82ee4cefa3e7f0d9fbb1b Mon Sep 17 00:00:00 2001 From: qeeg Date: Mon, 31 Aug 2020 16:37:42 -0500 Subject: Fix a typo --- src/NDS.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/NDS.cpp b/src/NDS.cpp index bb579f6..a23772c 100644 --- a/src/NDS.cpp +++ b/src/NDS.cpp @@ -3745,7 +3745,7 @@ void ARM7IOWrite8(u32 addr, u8 val) return; case 0x04000301: - val & 0xC0; + val &= 0xC0; if (val == 0x40) printf("!! GBA MODE NOT SUPPORTED\n"); else if (val == 0x80) ARM7->Halt(1); else if (val == 0xC0) EnterSleepMode(); -- cgit v1.2.3