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/05 19:03:47 UTC

svn commit: r1712836 - /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java

Author: tilman
Date: Thu Nov  5 18:03:47 2015
New Revision: 1712836

URL: http://svn.apache.org/viewvc?rev=1712836&view=rev
Log:
PDFBOX-3090: avoid ArrayIndexOutOfBoundsException

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

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java?rev=1712836&r1=1712835&r2=1712836&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/ttf/CmapSubtable.java Thu Nov  5 18:03:47 2015
@@ -488,6 +488,13 @@ public class CmapSubtable
                 {
                     p = (p + idDelta) % 65536;
                 }
+                
+                if (p >= numGlyphs)
+                {
+                    LOG.warn("glyphId " + p + " for charcode " + charCode + " ignored, numGlyphs is " + numGlyphs);
+                    continue;
+                }
+                
                 glyphIdToCharacterCode[p] = charCode;
                 characterCodeToGlyphId.put(charCode, p);
             }