shithub: freetype+ttf2subf

Download patch

ref: 11d4ce23ac55a7d881bba5214c47922c05127242
parent: dfc9a049ded53e2ca5c9b935f912a476d6f676ed
author: Dominik Röttsches <[email protected]>
date: Mon Dec 9 07:40:42 EST 2019

Fix more UBSan warnings on adding offset to nullptr (#57384)

* src/smooth/ftsmooth.c (ft_smooth_render_generic),
src/psaux/psobjs.c (ps_table_add): Use `FT_OFFSET'.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2019-12-09  Dominik Röttsches  <[email protected]>
+
+	Fix more UBSan warnings on adding offset to nullptr (#57384).
+    
+	* src/smooth/ftsmooth.c (ft_smooth_render_generic),
+	src/psaux/psobjs.c (ps_table_add): Use `FT_OFFSET'.
+
 2019-12-05  Werner Lemberg  <[email protected]>
 
 	* src/truetype/ttinterp.c (TT_RunIns): Use `FT_OFFSET'.
--- a/src/psaux/psobjs.c
+++ b/src/psaux/psobjs.c
@@ -214,7 +214,7 @@
     }
 
     /* add the object to the base block and adjust offset */
-    table->elements[idx] = table->block + table->cursor;
+    table->elements[idx] = FT_OFFSET( table->block, table->cursor );
     table->lengths [idx] = length;
     FT_MEM_COPY( table->block + table->cursor, object, length );
 
--- a/src/smooth/ftsmooth.c
+++ b/src/smooth/ftsmooth.c
@@ -188,7 +188,7 @@
     /* implode outline if needed */
     {
       FT_Vector*  points     = outline->points;
-      FT_Vector*  points_end = points + outline->n_points;
+      FT_Vector*  points_end = FT_OFFSET( points, outline->n_points );
       FT_Vector*  vec;
 
 
@@ -207,7 +207,7 @@
     /* deflate outline if needed */
     {
       FT_Vector*  points     = outline->points;
-      FT_Vector*  points_end = points + outline->n_points;
+      FT_Vector*  points_end = FT_OFFSET( points, outline->n_points );
       FT_Vector*  vec;