diff options
author | Werner Lemberg <wl@gnu.org> | 2018-06-19 07:15:21 +0200 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2018-06-19 07:15:21 +0200 |
commit | 7915fd51f123d0adbe6a0b9ad19eb941e1733c87 (patch) | |
tree | 028cf2f462d4ad2846750c950e41c9404e28ded5 | |
parent | a56e4bf7a243f46632e4e2ccf25d2f50ca132b23 (diff) | |
download | freetype2-7915fd51f123d0adbe6a0b9ad19eb941e1733c87.tar.gz |
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.
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | src/sfnt/ttcolr.c | 3 | ||||
-rw-r--r-- | src/sfnt/ttcpal.c | 2 |
3 files changed, 16 insertions, 1 deletions
@@ -1,3 +1,15 @@ +2018-06-19 Werner Lemberg <wl@gnu.org> + + 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 <apodtele@gmail.com> [base] Introduce `FT_New_Glyph'. diff --git a/src/sfnt/ttcolr.c b/src/sfnt/ttcolr.c index 4fc430002..b12ebe213 100644 --- 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; diff --git a/src/sfnt/ttcpal.c b/src/sfnt/ttcpal.c index 6c6b06dad..fc78c67be 100644 --- 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; |