diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/base/ftobjs.c | 6 |
2 files changed, 6 insertions, 4 deletions
@@ -1,3 +1,7 @@ +2018-06-28 Alexei Podtelezhnikov <apodtele@gmail.com> + + * src/base/ftobjs.c (FT_Set_Charmap): Robustify. + 2018-06-25 Werner Lemberg <wl@gnu.org> [truetype] Fix memory leak. diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index 38214b5d8..baaeaff98 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c @@ -3526,14 +3526,12 @@ if ( !cur || !charmap ) return FT_THROW( Invalid_CharMap_Handle ); - if ( FT_Get_CMap_Format( charmap ) == 14 ) - return FT_THROW( Invalid_Argument ); - limit = cur + face->num_charmaps; for ( ; cur < limit; cur++ ) { - if ( cur[0] == charmap ) + if ( cur[0] == charmap && + FT_Get_CMap_Format ( charmap ) != 14 ) { face->charmap = cur[0]; return FT_Err_Ok; |