freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] master e69f34b: [truetype] Sanitizer fix.


From: Werner LEMBERG
Subject: [freetype2] master e69f34b: [truetype] Sanitizer fix.
Date: Tue, 19 Jul 2016 05:07:14 +0000 (UTC)

branch: master
commit e69f34b1e2023f66201b557a35fc48d81fb6a874
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>

    [truetype] Sanitizer fix.
    
    * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Increase array
    to fix nested loops.
---
 ChangeLog              |    7 +++++++
 src/truetype/ttgxvar.c |    7 +++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index fc1ae90..ba6c185 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-07-19  Werner Lemberg  <address@hidden>
+
+       [truetype] Sanitizer fix.
+
+       * src/truetype/ttgxvar.c (ft_var_readpackedpoints): Increase array
+       to fix nested loops.
+
 2016-07-18  Werner Lemberg  <address@hidden>
 
        [truetype] Make GETDATA work only for GX fonts.
diff --git a/src/truetype/ttgxvar.c b/src/truetype/ttgxvar.c
index 7c85d62..3715796 100644
--- a/src/truetype/ttgxvar.c
+++ b/src/truetype/ttgxvar.c
@@ -158,13 +158,16 @@
       return NULL;
     }
 
-    if ( FT_NEW_ARRAY( points, n ) )
+    /* in the nested loops below we increase `i' twice; */
+    /* it is faster to simply allocate one more slot    */
+    /* than to add another test within the loop         */
+    if ( FT_NEW_ARRAY( points, n + 1 ) )
       return NULL;
 
     *point_cnt = n;
 
     first = 0;
-    i = 0;
+    i     = 0;
     while ( i < n )
     {
       runcnt = FT_GET_BYTE();



reply via email to

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