ref: 0690d3d7b59ccb54a9938ff99c8621350780fc6e
parent: 3a55340029783ec9ab738698e3e3ab2cd74c882e
author: Alexei Podtelezhnikov <[email protected]>
date: Thu Nov 15 15:50:59 EST 2012
[base] Fix integer overflows in dd5718c7d67a. * src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-11-15 Alexei Podtelezhnikov <[email protected]>
+
+ [base] Fix integer overflows in dd5718c7d67a.
+
+ * src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv.
+
2012-11-15 Werner Lemberg <[email protected]>
[autofit] Trace stem widths.
--- 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 );