diff --git a/ChangeLog b/ChangeLog index 627b9383f..17854572a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2016-12-28 Werner Lemberg + + [cff] Catch `blend' op in non-variant fonts. + + Reported as + + https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=334 + + * src/cff/cf2intrp.c (cf2_interpT2CharString) : Don't + allow `blend' op for non-variant fonts. + 2016-12-28 Werner Lemberg [cff] Better check of number of blends. diff --git a/src/cff/cf2intrp.c b/src/cff/cf2intrp.c index ef52999c6..e4824b01d 100644 --- a/src/cff/cf2intrp.c +++ b/src/cff/cf2intrp.c @@ -678,6 +678,13 @@ if ( !font->isCFF2 ) break; /* clear stack & ignore */ + /* do we have a `blend' op in a non-variant font? */ + if ( !font->blend.font ) + { + lastError = FT_THROW( Invalid_Glyph_Format ); + goto exit; + } + /* check cached blend vector */ if ( cff_blend_check_vector( &font->blend, font->vsindex,