summaryrefslogtreecommitdiff
path: root/gflib/sprite.c
diff options
context:
space:
mode:
Diffstat (limited to 'gflib/sprite.c')
-rw-r--r--gflib/sprite.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gflib/sprite.c b/gflib/sprite.c
index c7e3d09a3..e36c53721 100644
--- a/gflib/sprite.c
+++ b/gflib/sprite.c
@@ -1319,8 +1319,18 @@ void ApplyAffineAnimFrameRelativeAndUpdateMatrix(u8 matrixNum, struct AffineAnim
s16 ConvertScaleParam(s16 scale)
{
+ s16 ret;
s32 val = 0x10000;
- return val / scale;
+ // UB: possible division by zero
+#ifdef UBFIX
+ if (scale != 0)
+ ret = val / scale;
+ else
+ ret = 0;
+#else
+ ret = val / scale;
+#endif //UBFIX
+ return ret;
}
void GetAffineAnimFrame(u8 matrixNum, struct Sprite *sprite, struct AffineAnimFrameCmd *frameCmd)