Author: tilman
Date: Sat Sep 13 10:46:41 2025
New Revision: 1928418
Log:
PDFBOX-6068: avoid NPE
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java
Modified:
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java
==============================================================================
---
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java
Sat Sep 13 10:44:09 2025 (r1928417)
+++
pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java
Sat Sep 13 10:46:41 2025 (r1928418)
@@ -120,7 +120,18 @@ public abstract class PDNameTreeNode<T e
List<PDNameTreeNode<T>> pdObjects = new
ArrayList<PDNameTreeNode<T>>(kids.size());
for( int i=0; i<kids.size(); i++ )
{
- pdObjects.add( createChildNode(
(COSDictionary)kids.getObject(i) ) );
+ COSBase base = kids.getObject(i);
+ PDNameTreeNode childNode;
+ if (base instanceof COSDictionary)
+ {
+ childNode = createChildNode((COSDictionary) base);
+ }
+ else
+ {
+ LOG.warn("Bad child node at position " + i);
+ childNode = createChildNode(new COSDictionary());
+ }
+ pdObjects.add(childNode);
}
retval = new COSArrayList<PDNameTreeNode<T>>(pdObjects, kids);
}