You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2022/02/13 11:15:25 UTC
svn commit: r1898031 - /pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java
Author: lehmi
Date: Sun Feb 13 11:15:24 2022
New Revision: 1898031
URL: http://svn.apache.org/viewvc?rev=1898031&view=rev
Log:
PDFBOX-5339: avoid AIOOBE and throw an IOException instead
Modified:
pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java
Modified: pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java?rev=1898031&r1=1898030&r2=1898031&view=diff
==============================================================================
--- pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java (original)
+++ pdfbox/trunk/fontbox/src/main/java/org/apache/fontbox/cff/CFFParser.java Sun Feb 13 11:15:24 2022
@@ -782,9 +782,13 @@ public class CFFParser
}
}
- private String readString(int index)
+ private String readString(int index) throws IOException
{
- if (index >= 0 && index <= 390)
+ if (index < 0)
+ {
+ throw new IOException("Invalid negative index when reading a string");
+ }
+ if (index <= 390)
{
return CFFStandardString.getName(index);
}
@@ -792,14 +796,11 @@ public class CFFParser
{
return stringIndex[index - 391];
}
- else
- {
- // technically this maps to .notdef, but we need a unique sid name
- return "SID" + index;
- }
+ // technically this maps to .notdef, but we need a unique sid name
+ return "SID" + index;
}
- private String getString(DictData dict, String name)
+ private String getString(DictData dict, String name) throws IOException
{
DictData.Entry entry = dict.getEntry(name);
return entry != null && entry.hasOperands() ? readString(entry.getNumber(0).intValue()) : null;