summaryrefslogtreecommitdiff
path: root/gflib/sprite.c
diff options
context:
space:
mode:
authorgAlfonso-bit <83477269+gAlfonso-bit@users.noreply.github.com>2021-05-23 10:10:55 -0400
committerGitHub <noreply@github.com>2021-05-23 09:10:55 -0500
commita454f9c187008e791d05da8c378ac8f553f4ce3e (patch)
treee079d912a3a221e7eadc21e0bcc4999d6b3283da /gflib/sprite.c
parentef6d91b0e39099c1bc4ce019461821e33b06cd40 (diff)
UBFIX: sprite.c (#1442)
Fix out-of-bounds array access in `SortSprites()`. Co-authored-by: Marcus Huderle <huderlem@gmail.com>
Diffstat (limited to 'gflib/sprite.c')
-rw-r--r--gflib/sprite.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gflib/sprite.c b/gflib/sprite.c
index c66b1e47d..f97ecc712 100644
--- a/gflib/sprite.c
+++ b/gflib/sprite.c
@@ -452,6 +452,10 @@ void SortSprites(void)
// Although this doesn't result in a bug in the ROM,
// the behavior is undefined.
j--;
+#ifdef UBFIX
+ if (j == 0)
+ break;
+#endif
sprite1 = &gSprites[sSpriteOrder[j - 1]];
sprite2 = &gSprites[sSpriteOrder[j]];
@@ -661,8 +665,7 @@ void ResetOamRange(u8 a, u8 b)
for (i = a; i < b; i++)
{
- struct OamData *oamBuffer = gMain.oamBuffer;
- oamBuffer[i] = *(struct OamData *)&gDummyOamData;
+ gMain.oamBuffer[i] = *(struct OamData *)&gDummyOamData;
}
}