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

Reply via email to