Author: tilman
Date: Sat Sep 13 10:47:07 2025
New Revision: 1928419

Log:
PDFBOX-6068: avoid NPE

Modified:
   
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java
      Sat Sep 13 10:46:41 2025        (r1928418)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java
      Sat Sep 13 10:47:07 2025        (r1928419)
@@ -120,7 +120,18 @@ public abstract class PDNameTreeNode<T e
             List<PDNameTreeNode<T>> pdObjects = new ArrayList<>(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<>(pdObjects, kids);
         }

Reply via email to