summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexei Podtelezhnikov <apodtele@gmail.com>2018-06-28 21:31:35 -0400
committerAlexei Podtelezhnikov <apodtele@gmail.com>2018-06-28 21:31:35 -0400
commit4f11209f5cd4f83f185042d54ad1c892dffb5ed1 (patch)
treec1f9075813f4987a0edc55da9591e7aa48863359
parent207ca38fb5e99a638e9ea86d86b28fc895661122 (diff)
downloadfreetype2-4f11209f5cd4f83f185042d54ad1c892dffb5ed1.tar.gz
* src/base/ftobjs.c (FT_Set_Charmap): Robustify.
-rw-r--r--ChangeLog4
-rw-r--r--src/base/ftobjs.c6
2 files changed, 6 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 11de7b946..2dc6d298b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;