You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2021/02/23 18:50:18 UTC

svn commit: r1886856 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java

Author: tilman
Date: Tue Feb 23 18:50:18 2021
New Revision: 1886856

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

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java?rev=1886856&r1=1886855&r2=1886856&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSStream.java Tue Feb 23 18:50:18 2021
@@ -311,8 +311,13 @@ public class COSStream extends COSDictio
             COSArray filterArray = (COSArray)filters;
             for (int i = 0; i < filterArray.size(); i++)
             {
-                COSName filterName = (COSName)filterArray.get(i);
-                filterList.add(FilterFactory.INSTANCE.getFilter(filterName));
+                COSBase base = filterArray.get(i);
+                if (!(base instanceof COSName))
+                {
+                    throw new IOException("Forbidden type in filter array: " + 
+                            (base == null ? "null" : base.getClass().getName()));
+                }
+                filterList.add(FilterFactory.INSTANCE.getFilter((COSName) base));
             }
         }
         return filterList;