[base] Fix integer overflows in dd5718c7d67a. * src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv.
diff --git a/ChangeLog b/ChangeLog
index c957398..f6b3d52 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-11-15 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ [base] Fix integer overflows in dd5718c7d67a.
+
+ * src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv.
+
2012-11-15 Werner Lemberg <wl@gnu.org>
[autofit] Trace stem widths.
diff --git a/src/base/ftoutln.c b/src/base/ftoutln.c
index 1208752..c4fd266 100644
--- a/src/base/ftoutln.c
+++ b/src/base/ftoutln.c
@@ -968,13 +968,13 @@
if ( orientation == FT_ORIENTATION_TRUETYPE )
q = -q;
- if ( xstrength * q < d * l )
+ if ( FT_MulDiv( xstrength, q, l ) < d )
shift.x = FT_MulDiv( shift.x, xstrength, d );
else
shift.x = FT_MulDiv( shift.x, l, q );
- if ( ystrength * q < d * l )
+ if ( FT_MulDiv( ystrength, q, l ) < d )
shift.y = FT_MulDiv( shift.y, ystrength, d );
else
shift.y = FT_MulDiv( shift.y, l, q );