Author: tilman
Date: Tue Jun 24 13:06:30 2025
New Revision: 1926693

URL: http://svn.apache.org/viewvc?rev=1926693&view=rev
Log:
PDFBOX-6025: avoid ClassCastException

Modified:
    
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDStructureElementNameTreeNode.java
    
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/PDIntegerNameTreeNode.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDStructureElementNameTreeNode.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDStructureElementNameTreeNode.java?rev=1926693&r1=1926692&r2=1926693&view=diff
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDStructureElementNameTreeNode.java
 (original)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDStructureElementNameTreeNode.java
 Tue Jun 24 13:06:30 2025
@@ -51,6 +51,10 @@ public class PDStructureElementNameTreeN
     @Override
     protected PDStructureElement convertCOSToPD( COSBase base ) throws 
IOException
     {
+        if (!(base instanceof COSDictionary))
+        {
+            throw new IOException("dictionary expected here, but got " + base);
+        }
         return new PDStructureElement((COSDictionary)base);
     }
 

Modified: 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/PDIntegerNameTreeNode.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/PDIntegerNameTreeNode.java?rev=1926693&r1=1926692&r2=1926693&view=diff
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/PDIntegerNameTreeNode.java
 (original)
+++ 
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/common/PDIntegerNameTreeNode.java
 Tue Jun 24 13:06:30 2025
@@ -50,6 +50,10 @@ public class PDIntegerNameTreeNode exten
     @Override
     protected COSInteger convertCOSToPD(COSBase base) throws IOException
     {
+        if (!(base instanceof COSInteger))
+        {
+            throw new IOException("integer expected here, but got " + base);
+        }
         return (COSInteger)base;
     }
 


Reply via email to