ref: 7915fd51f123d0adbe6a0b9ad19eb941e1733c87
parent: a56e4bf7a243f46632e4e2ccf25d2f50ca132b23
author: Werner Lemberg <[email protected]>
date: Tue Jun 19 03:15:21 EDT 2018
Doh. Don't use CPAL or COLR data if tables are missing. Reported by Alexei. * src/sfnt/ttcolr.c (tt_face_get_colr_layer): Return immediately if `colr' is NULL. * src/sfnt/ttcpal.c (tt_face_palette_set): Return immediately, if `cpal' is NULL.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2018-06-19 Werner Lemberg <[email protected]>
+
+ Doh. Don't use CPAL or COLR data if tables are missing.
+
+ Reported by Alexei.
+
+ * src/sfnt/ttcolr.c (tt_face_get_colr_layer): Return immediately if
+ `colr' is NULL.
+
+ * src/sfnt/ttcpal.c (tt_face_palette_set): Return immediately, if
+ `cpal' is NULL.
+
2018-06-17 Alexei Podtelezhnikov <[email protected]>
[base] Introduce `FT_New_Glyph'.
--- a/src/sfnt/ttcolr.c
+++ b/src/sfnt/ttcolr.c
@@ -220,6 +220,9 @@
FT_UInt glyph_index;
+ if ( !colr )
+ return 0;
+
if ( !iterator->p )
{
FT_ULong offset;
--- a/src/sfnt/ttcpal.c
+++ b/src/sfnt/ttcpal.c
@@ -258,7 +258,7 @@
FT_ULong record_offset;
- if ( palette_index >= face->palette_data.num_palettes )
+ if ( !cpal || palette_index >= face->palette_data.num_palettes )
return FT_THROW( Invalid_Argument );
offset = cpal->color_indices + 2 * palette_index;