freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] master 5a3490e: * src/cff/cffload.c (cff_font_load): Improve


From: Werner LEMBERG
Subject: [freetype2] master 5a3490e: * src/cff/cffload.c (cff_font_load): Improve fix from 2017-01-04.
Date: Fri, 31 Mar 2017 03:36:11 -0400 (EDT)

branch: master
commit 5a3490e054bda8a318ebde482c7fb30213cab3d9
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>

    * 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 張俊芝 <address@hidden> in
    
      http://lists.nongnu.org/archive/html/freetype-devel/2017-03/msg00074.html
---
 ChangeLog         | 10 ++++++++++
 src/cff/cffload.c |  6 ++++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index df655af..f0e7a9b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2017-03-31  Werner Lemberg  <address@hidden>
+
+       * 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 張俊芝 <address@hidden> in
+
+         
http://lists.nongnu.org/archive/html/freetype-devel/2017-03/msg00074.html
+
 2017-03-30  Werner Lemberg  <address@hidden>
 
        * 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                   */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]