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 2015/10/17 13:37:59 UTC

svn commit: r1709136 - /pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/XRefValidationProcess.java

Author: tilman
Date: Sat Oct 17 11:37:59 2015
New Revision: 1709136

URL: http://svn.apache.org/viewvc?rev=1709136&view=rev
Log:
PDFBOX-3035: /XRef cross reference stream is not allowed in preflight

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

Modified: pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/XRefValidationProcess.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/XRefValidationProcess.java?rev=1709136&r1=1709135&r2=1709136&view=diff
==============================================================================
--- pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/XRefValidationProcess.java (original)
+++ pdfbox/trunk/preflight/src/main/java/org/apache/pdfbox/preflight/process/XRefValidationProcess.java Sat Oct 17 11:37:59 2015
@@ -21,10 +21,10 @@
 
 package org.apache.pdfbox.preflight.process;
 
-import static org.apache.pdfbox.preflight.PreflightConstants.ERROR_SYNTAX_INDIRECT_OBJ_RANGE;
-
 import org.apache.pdfbox.cos.COSDocument;
 import org.apache.pdfbox.preflight.PreflightConstants;
+import static org.apache.pdfbox.preflight.PreflightConstants.ERROR_SYNTAX_INDIRECT_OBJ_RANGE;
+import static org.apache.pdfbox.preflight.PreflightConstants.ERROR_SYNTAX_TRAILER;
 import org.apache.pdfbox.preflight.PreflightContext;
 import org.apache.pdfbox.preflight.ValidationResult.ValidationError;
 import org.apache.pdfbox.preflight.exception.ValidationException;
@@ -36,6 +36,10 @@ public class XRefValidationProcess exten
     public void validate(PreflightContext ctx) throws ValidationException
     {
         COSDocument document = ctx.getDocument().getDocument();
+        if (document.isXRefStream())
+        {
+            addValidationError(ctx, new ValidationError(ERROR_SYNTAX_TRAILER, "/XRef cross reference streams are not allowed"));
+        }
         if (document.getObjects().size() > PreflightConstants.MAX_INDIRECT_OBJ)
         {
             addValidationError(ctx, new ValidationError(ERROR_SYNTAX_INDIRECT_OBJ_RANGE, "Too many indirect objects"));