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 2018/09/10 18:37:07 UTC
svn commit: r1840490 -
/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/PageEntry.java
Author: tilman
Date: Mon Sep 10 18:37:07 2018
New Revision: 1840490
URL: http://svn.apache.org/viewvc?rev=1840490&view=rev
Log:
PDFBOX-2941: avoid NPE / CCE
Modified:
pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/PageEntry.java
Modified: pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/PageEntry.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/PageEntry.java?rev=1840490&r1=1840489&r2=1840490&view=diff
==============================================================================
--- pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/PageEntry.java (original)
+++ pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/PageEntry.java Mon Sep 10 18:37:07 2018
@@ -18,6 +18,7 @@
package org.apache.pdfbox.debugger.ui;
import org.apache.pdfbox.cos.COSArray;
+import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSName;
@@ -63,12 +64,18 @@ public class PageEntry
COSDictionary node = dict;
while (node.containsKey(COSName.PARENT))
{
- COSDictionary parent = (COSDictionary)node.getDictionaryObject(COSName.PARENT);
- COSArray kids = (COSArray)parent.getDictionaryObject(COSName.KIDS);
- if (kids == null)
+ COSBase base = node.getDictionaryObject(COSName.PARENT);
+ if (!(base instanceof COSDictionary))
{
return "";
}
+ COSDictionary parent = (COSDictionary) base;
+ base = parent.getDictionaryObject(COSName.KIDS);
+ if (!(base instanceof COSArray))
+ {
+ return "";
+ }
+ COSArray kids = (COSArray) base;
int idx = kids.indexOfObject(node);
sb.append("/Kids/[").append(idx).append("]");
node = parent;