summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSierraffinity <sierra@domoreaweso.me>2020-12-26 18:25:21 -0800
committerSierraffinity <sierra@domoreaweso.me>2020-12-26 18:25:21 -0800
commit127bb97c0e5c50b9f22715bdf4e958937f7ef992 (patch)
treedd423c22391406701c3d3074dff0b69818269f51 /src
parentbafbf9240d0f91ee3c38ca4652e3c54b9c503c9b (diff)
Add UBFIX for division by zero in SpriteCB_PokedexListMonSprite
Diffstat (limited to 'src')
-rw-r--r--src/pokedex.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/pokedex.c b/src/pokedex.c
index 516cef6a7..691abd649 100644
--- a/src/pokedex.c
+++ b/src/pokedex.c
@@ -3037,7 +3037,15 @@ static void SpriteCB_PokedexListMonSprite(struct Sprite *sprite)
u32 var;
sprite->pos2.y = gSineTable[(u8)sprite->data[5]] * 76 / 256;
+ // UB: possible division by zero
+#ifdef UBFIX
+ if (gSineTable[sprite->data[5] + 64] != 0)
+ var = 0x10000 / gSineTable[sprite->data[5] + 64];
+ else
+ var = 0xFFFF;
+#else
var = 0x10000 / gSineTable[sprite->data[5] + 64];
+#endif //UBFIX
if (var > 0xFFFF)
var = 0xFFFF;
SetOamMatrix(sprite->data[1] + 1, 0x100, 0, 0, var);