From 877dbd38edf11f0359ed4c62419f8f29e065fb93 Mon Sep 17 00:00:00 2001 From: Jeffrey Pfau Date: Wed, 28 Sep 2016 12:57:58 -0700 Subject: [PATCH] GBA I/O: Fix writing to out-of-bounds 8-bit I/O registers --- src/gba/io.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gba/io.c b/src/gba/io.c index 888d8af70..75e8689bf 100644 --- a/src/gba/io.c +++ b/src/gba/io.c @@ -567,6 +567,9 @@ void GBAIOWrite8(struct GBA* gba, uint32_t address, uint8_t value) { } return; } + if (address > SIZE_IO) { + return; + } uint16_t value16 = value << (8 * (address & 1)); value16 |= (gba->memory.io[(address & (SIZE_IO - 1)) >> 1]) & ~(0xFF << (8 * (address & 1))); GBAIOWrite(gba, address & 0xFFFFFFFE, value16);