diff options
author | gAlfonso-bit <83477269+gAlfonso-bit@users.noreply.github.com> | 2021-05-23 10:10:55 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-23 09:10:55 -0500 |
commit | a454f9c187008e791d05da8c378ac8f553f4ce3e (patch) | |
tree | e079d912a3a221e7eadc21e0bcc4999d6b3283da /gflib/sprite.c | |
parent | ef6d91b0e39099c1bc4ce019461821e33b06cd40 (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.c | 7 |
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; } } |