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