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 2020/03/18 19:41:02 UTC

svn commit: r1875389 - in /pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight: graphic/ICCProfileWrapper.java graphic/StandardColorSpaceHelper.java process/CatalogValidationProcess.java

Author: tilman
Date: Wed Mar 18 19:41:02 2020
New Revision: 1875389

URL: http://svn.apache.org/viewvc?rev=1875389&view=rev
Log:
PDFBOX-4799: avoid ArrayIndexOutOfBoundsException that happens on jdk15

Modified:
    pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/ICCProfileWrapper.java
    pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/StandardColorSpaceHelper.java
    pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java

Modified: pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/ICCProfileWrapper.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/ICCProfileWrapper.java?rev=1875389&r1=1875388&r2=1875389&view=diff
==============================================================================
--- pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/ICCProfileWrapper.java (original)
+++ pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/ICCProfileWrapper.java Wed Mar 18 19:41:02 2020
@@ -154,6 +154,11 @@ public class ICCProfileWrapper
                     context.addValidationError(new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_INVALID,
                             "DestOutputProfile isn't a valid ICCProfile. Caused by : " + e.getMessage(), e));
                 }
+                catch (ArrayIndexOutOfBoundsException e)
+                {
+                    context.addValidationError(new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_INVALID,
+                            "DestOutputProfile isn't a valid ICCProfile. Caused by : " + e.getMessage(), e));
+                }
                 catch (IOException e)
                 {            
                     context.addValidationError(new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_INVALID,

Modified: pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/StandardColorSpaceHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/StandardColorSpaceHelper.java?rev=1875389&r1=1875388&r2=1875389&view=diff
==============================================================================
--- pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/StandardColorSpaceHelper.java (original)
+++ pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/graphic/StandardColorSpaceHelper.java Wed Mar 18 19:41:02 2020
@@ -286,6 +286,12 @@ public class StandardColorSpaceHelper im
             context.addValidationError(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_ICCBASED,
                     "ICCBased color space is invalid: " + e.getMessage(), e));
         }
+        catch (ArrayIndexOutOfBoundsException e)
+        {
+            // this is not a ICC_Profile
+            context.addValidationError(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE_ICCBASED,
+                    "ICCBased color space is invalid: " + e.getMessage(), e));
+        }
         catch (IOException e)
         {
             context.addValidationError(new ValidationError(ERROR_GRAPHIC_INVALID_COLOR_SPACE,

Modified: pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java?rev=1875389&r1=1875388&r2=1875389&view=diff
==============================================================================
--- pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java (original)
+++ pdfbox/branches/2.0/preflight/src/main/java/org/apache/pdfbox/preflight/process/CatalogValidationProcess.java Wed Mar 18 19:41:02 2020
@@ -383,6 +383,12 @@ public class CatalogValidationProcess ex
             addValidationError(ctx, new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_INVALID,
                     "DestOutputProfile isn't a valid ICCProfile: " + e.getMessage(), e));
         }
+        catch (ArrayIndexOutOfBoundsException e)
+        {
+            // this is not a ICC_Profile
+            addValidationError(ctx, new ValidationError(ERROR_GRAPHIC_OUTPUT_INTENT_ICC_PROFILE_INVALID,
+                    "DestOutputProfile isn't a valid ICCProfile: " + e.getMessage(), e));
+        }
         catch (IOException e)
         {
             throw new ValidationException("Unable to parse the ICC Profile.", e);