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 2017/10/23 19:02:40 UTC
svn commit: r1813061 -
/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
Author: tilman
Date: Mon Oct 23 19:02:40 2017
New Revision: 1813061
URL: http://svn.apache.org/viewvc?rev=1813061&view=rev
Log:
PDFBOX-3976: avoid NPE
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java?rev=1813061&r1=1813060&r2=1813061&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/COSParser.java Mon Oct 23 19:02:40 2017
@@ -1622,7 +1622,7 @@ public class COSParser extends BaseParse
*/
private List<COSObjectKey[]> bfSearchForTrailer() throws IOException
{
- List<COSObjectKey[]> trailerDicts = new ArrayList<COSObjectKey[]>();
+ List<COSObjectKey[]> trailerDicts = new ArrayList<>();
long originOffset = source.getPosition();
source.seek(MINIMUM_SEARCH_OFFSET);
while (!source.isEOF())
@@ -1671,15 +1671,17 @@ public class COSParser extends BaseParse
if (trailerdictsSize > 1)
{
COSObjectKey[] first = trailerDicts.get(0);
- for (int i = trailerdictsSize - 1; i > 0; i--)
+ if (first[0] != null && first[1] != null)
{
- COSObjectKey[] other = trailerDicts.get(i);
- if (first[0].equals(other[0]) && first[1].equals(other[1]))
+ for (int i = trailerdictsSize - 1; i > 0; i--)
{
- trailerDicts.remove(other);
+ COSObjectKey[] other = trailerDicts.get(i);
+ if (first[0].equals(other[0]) && first[1].equals(other[1]))
+ {
+ trailerDicts.remove(other);
+ }
}
}
-
}
return trailerDicts;
}