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'.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
diff --git a/ChangeLog b/ChangeLog
index 0506b2a..db51329 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2019-12-09 Dominik Röttsches <drott@chromium.org>
+
+ 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 <wl@gnu.org>
* src/truetype/ttinterp.c (TT_RunIns): Use `FT_OFFSET'.
diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c
index 8bfdb92..5fb23b1 100644
--- 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 );
diff --git a/src/smooth/ftsmooth.c b/src/smooth/ftsmooth.c
index cd034d2..dcaad35 100644
--- 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;