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());