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 2019/08/07 16:23:10 UTC

svn commit: r1864636 - /pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/PostScriptTable.java

Author: tilman
Date: Wed Aug  7 16:23:10 2019
New Revision: 1864636

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

Modified:
    pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/PostScriptTable.java

Modified: pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/PostScriptTable.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/PostScriptTable.java?rev=1864636&r1=1864635&r2=1864636&view=diff
==============================================================================
--- pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/PostScriptTable.java (original)
+++ pdfbox/branches/2.0/fontbox/src/main/java/org/apache/fontbox/ttf/PostScriptTable.java Wed Aug  7 16:23:10 2019
@@ -134,13 +134,21 @@ public class PostScriptTable extends TTF
             glyphNames = new String[glyphNameIndex.length];
             for (int i = 0; i < glyphNames.length; i++)
             {
-                String name = WGL4Names.MAC_GLYPH_NAMES[glyphNameIndex[i]];
-                if (name != null)
+                int index = glyphNameIndex[i];
+                if (index >= 0 && index < WGL4Names.NUMBER_OF_MAC_GLYPHS)
                 {
-                    glyphNames[i] = name;
+                    String name = WGL4Names.MAC_GLYPH_NAMES[index];
+                    if (name != null)
+                    {
+                        glyphNames[i] = name;
+                    }
+                }
+                else
+                {
+                    LOG.debug("incorrect glyph name index " + index +
+                              ", valid numbers 0.." + WGL4Names.NUMBER_OF_MAC_GLYPHS);
                 }
             }
-
         }
         else if (formatType == 3.0f)
         {