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/05/06 06:35:52 UTC

svn commit: r1889552 - /pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java

Author: tilman
Date: Thu May  6 06:35:52 2021
New Revision: 1889552

URL: http://svn.apache.org/viewvc?rev=1889552&view=rev
Log:
PDFBOX-4892: avoid ClassCastException, as suggested by valerybokov; remove unneeded code

Modified:
    pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java?rev=1889552&r1=1889551&r2=1889552&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java Thu May  6 06:35:52 2021
@@ -272,16 +272,10 @@ public class CatalogValidationProcess ex
             {
         try
         {
-            if (destOutputProfile == null)
-            {
-                return;
-            }
-
-            COSBase localDestOutputProfile = destOutputProfile;
             // destOutputProfile should be an instance of COSObject because of this is a object reference
-            if (localDestOutputProfile instanceof COSObject)
+            if (destOutputProfile instanceof COSObject)
             {
-                if (mapDestOutputProfile.containsKey(new COSObjectKey((COSObject) localDestOutputProfile)))
+                if (mapDestOutputProfile.containsKey(new COSObjectKey((COSObject) destOutputProfile)))
                 {
                     // the profile is already checked. continue
                     return;
@@ -294,13 +288,18 @@ public class CatalogValidationProcess ex
                     return;
                 }
                 // else the profile will be kept in the mapDestOutputProfile if it is valid
-
-                localDestOutputProfile = ((COSObject) localDestOutputProfile).getObject();
+            }
+            else
+            {
+                addValidationError(ctx, new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_INVALID_ENTRY,
+                        "OutputIntent object should be a reference: " + destOutputProfile));
+                return;
             }
 
             // keep reference to avoid multiple profile definition
             mapDestOutputProfile.put(new COSObjectKey((COSObject) destOutputProfile), true);
 
+            COSBase localDestOutputProfile = ((COSObject) destOutputProfile).getObject();
             if (!(localDestOutputProfile instanceof COSStream))
             {
                 addValidationError(ctx, new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_INVALID_ENTRY,