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;
}