* src/cff/cffload.c (cff_font_load): Improve fix from 2017-01-04. Allow CFFs containing a single font to have an empty font name. Problem reported by 張俊芝 <418092625@qq.com> in http://lists.nongnu.org/archive/html/freetype-devel/2017-03/msg00074.html
diff --git a/ChangeLog b/ChangeLog
index df655af..f0e7a9b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2017-03-31 Werner Lemberg <wl@gnu.org>
+
+ * src/cff/cffload.c (cff_font_load): Improve fix from 2017-01-04.
+
+ Allow CFFs containing a single font to have an empty font name.
+
+ Problem reported by 張俊芝 <418092625@qq.com> in
+
+ http://lists.nongnu.org/archive/html/freetype-devel/2017-03/msg00074.html
+
2017-03-30 Werner Lemberg <wl@gnu.org>
* src/cff/cffparse.h (CFF2_DEFAULT_STACK): Set to 513 also.
diff --git a/src/cff/cffload.c b/src/cff/cffload.c
index 91e74f3..3beaeb1 100644
--- a/src/cff/cffload.c
+++ b/src/cff/cffload.c
@@ -2280,8 +2280,10 @@
goto Exit;
}
- /* font names must not be empty */
- if ( font->name_index.data_size < font->name_index.count )
+ /* if we have an empty font name, */
+ /* it must be the only font in the CFF */
+ if ( font->name_index.count > 1 &&
+ font->name_index.data_size < font->name_index.count )
{
/* for pure CFFs, we still haven't checked enough bytes */
/* to be sure that it is a CFF at all */