From 0690d3d7b59ccb54a9938ff99c8621350780fc6e Mon Sep 17 00:00:00 2001 From: Alexei Podtelezhnikov Date: Thu, 15 Nov 2012 20:50:59 -0500 Subject: [PATCH] [base] Fix integer overflows in dd5718c7d67a. * src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv. --- ChangeLog | 6 ++++++ src/base/ftoutln.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index c9573987..f6b3d520 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-11-15 Alexei Podtelezhnikov + + [base] Fix integer overflows in dd5718c7d67a. + + * src/base/ftoutln.c (FT_Outline_EmboldenXY): Use FT_MulDiv. + 2012-11-15 Werner Lemberg [autofit] Trace stem widths. diff --git a/src/base/ftoutln.c b/src/base/ftoutln.c index 12087527..c4fd2660 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 );