shithub: freetype+ttf2subf

Download patch

ref: e69f34b1e2023f66201b557a35fc48d81fb6a874
parent: a3b70d76bae970799f700d295cdf61bd954353a9
author: Werner Lemberg <[email protected]>
date: Tue Jul 19 03:06:19 EDT 2016

[truetype] Sanitizer fix.

* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Increase array
to fix nested loops.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-07-19  Werner Lemberg  <[email protected]>
+
+	[truetype] Sanitizer fix.
+
+	* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Increase array
+	to fix nested loops.
+
 2016-07-18  Werner Lemberg  <[email protected]>
 
 	[truetype] Make GETDATA work only for GX fonts.
--- 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();