You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2015/11/11 18:54:19 UTC

svn commit: r1713905 - /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java

Author: tilman
Date: Wed Nov 11 17:54:18 2015
New Revision: 1713905

URL: http://svn.apache.org/viewvc?rev=1713905&view=rev
Log:
PDFBOX-3093: skip tables with 0 length, as suggested by Timur Kamalov

Modified:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java?rev=1713905&r1=1713904&r2=1713905&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/TTFParser.java Wed Nov 11 17:54:18 2015
@@ -137,7 +137,12 @@ public class TTFParser
         for (int i = 0; i < numberOfTables; i++)
         {
             TTFTable table = readTableDirectory(font, raf);
-            font.addTable(table);
+            
+            // skip tables with zero length
+            if (table != null)
+            {
+                font.addTable(table);
+            }
         }
         // parse tables if wanted
         if (!parseOnDemandOnly)
@@ -293,6 +298,13 @@ public class TTFParser
         table.setCheckSum(raf.readUnsignedInt());
         table.setOffset(raf.readUnsignedInt());
         table.setLength(raf.readUnsignedInt());
+        
+        // skip tables with zero length
+        if (table.getLength() == 0)
+        {
+            return null;
+        }
+
         return table;
     }