Author: tilman Date: Sat Sep 13 10:47:30 2025 New Revision: 1928420 Log: PDFBOX-6068: avoid NPE
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java ============================================================================== --- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java Sat Sep 13 10:47:07 2025 (r1928419) +++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java Sat Sep 13 10:47:30 2025 (r1928420) @@ -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); }