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/07/28 18:46:20 UTC

svn commit: r1693131 - /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFType1Font.java

Author: tilman
Date: Tue Jul 28 16:46:20 2015
New Revision: 1693131

URL: http://svn.apache.org/r1693131
Log:
PDFBOX-2904: avoid IndexOutOfBoundsException

Modified:
    pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFType1Font.java

Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFType1Font.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFType1Font.java?rev=1693131&r1=1693130&r2=1693131&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFType1Font.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFType1Font.java Tue Jul 28 16:46:20 2015
@@ -120,16 +120,21 @@ public class CFFType1Font extends CFFFon
         return getType2CharString(gid, name);
     }
 
-    // Returns the Type 1 charstring for the given GID, with name for debugging
+    // Returns the Type 2 charstring for the given GID, with name for debugging
     private Type2CharString getType2CharString(int gid, String name) throws IOException
     {
         Type2CharString type2 = charStringCache.get(gid);
         if (type2 == null)
         {
-            byte[] bytes = charStrings.get(gid);
+            byte[] bytes = null;
+            if (gid < charStrings.size())
+            {
+                bytes = charStrings.get(gid);
+            }
             if (bytes == null)
             {
-                bytes = charStrings.get(0); // .notdef
+                // .notdef
+                bytes = charStrings.get(0);
             }
             Type2CharStringParser parser = new Type2CharStringParser(fontName, name);
             List<Object> type2seq = parser.parse(bytes, globalSubrIndex, getLocalSubrIndex());