Author: tilman
Date: Sat Sep 13 10:21:32 2025
New Revision: 1928413

Log:
PDFBOX-6068: avoid NPE

Modified:
   
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java

Modified: 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java
==============================================================================
--- 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java
     Sat Sep 13 10:21:28 2025        (r1928412)
+++ 
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNumberTreeNode.java
     Sat Sep 13 10:21:32 2025        (r1928413)
@@ -94,7 +94,18 @@ public class PDNumberTreeNode implements
             List<PDNumberTreeNode> 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);
+                PDNumberTreeNode childNode;
+                if (base instanceof COSDictionary)
+                {
+                    childNode = createChildNode((COSDictionary) base);
+                }
+                else
+                {
+                    LOG.warn("Bad child node at position " + i);
+                    childNode = new PDNumberTreeNode(valueType);
+                }
+                pdObjects.add(childNode);
             }
             retval = new COSArrayList<>(pdObjects,kids);
         }

Reply via email to