freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] master c14ae9c: * src/base/ftoutln.c (FT_Outline_Get_Orienta


From: Alexei Podtelezhnikov
Subject: [freetype2] master c14ae9c: * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix overflow (#46149).
Date: Sun, 11 Oct 2015 02:29:28 +0000

branch: master
commit c14ae9c5fd35342ca37523761f681656cbba07bb
Author: Alexei Podtelezhnikov <address@hidden>
Commit: Alexei Podtelezhnikov <address@hidden>

    * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix overflow (#46149).
---
 ChangeLog          |    7 ++++++-
 src/base/ftoutln.c |   11 +++++++----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a3c7ac1..4bfbe61 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-10  Alexei Podtelezhnikov  <address@hidden>
+
+       * src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix overflow
+       (#46149).
+
 2015-10-10  Werner Lemberg  <address@hidden>
 
        [sfnt] Fix infinite loops with broken cmaps (#46167).
@@ -72,7 +77,7 @@
 
        * src/tools/ftfuzzer/ftfuzzer.cc, src/tools/runinput.cc: New files.
 
-2015-10-01  Alexei Podtelezhnikov  <address@hidden>
+2015-10-06  Alexei Podtelezhnikov  <address@hidden>
 
        [smooth] Faster alternative line renderer.
 
diff --git a/src/base/ftoutln.c b/src/base/ftoutln.c
index 35cc9f5..34cf74e 100644
--- a/src/base/ftoutln.c
+++ b/src/base/ftoutln.c
@@ -1074,13 +1074,16 @@
       FT_Int  last = outline->contours[c];
 
 
-      v_prev = points[last];
+      v_prev.x = points[last].x >> xshift;
+      v_prev.y = points[last].y >> yshift;
 
       for ( n = first; n <= last; n++ )
       {
-        v_cur = points[n];
-        area += ( ( v_cur.y - v_prev.y ) >> yshift ) *
-                ( ( v_cur.x + v_prev.x ) >> xshift );
+        v_cur.x = points[n].x >> xshift;
+        v_cur.y = points[n].y >> yshift;
+
+        area += ( v_cur.y - v_prev.y ) * ( v_cur.x + v_prev.x );
+
         v_prev = v_cur;
       }
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]