pdfbox-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tilman Hausherr (JIRA)" <j...@apache.org>
Subject [jira] [Created] (PDFBOX-2478) NPE in XObjImageValidator.checkColorSpaceAndImageMask
Date Mon, 03 Nov 2014 20:09:33 GMT
Tilman Hausherr created PDFBOX-2478:
---------------------------------------

             Summary: NPE in XObjImageValidator.checkColorSpaceAndImageMask
                 Key: PDFBOX-2478
                 URL: https://issues.apache.org/jira/browse/PDFBOX-2478
             Project: PDFBox
          Issue Type: Bug
          Components: Preflight
    Affects Versions: 1.8.7, 1.8.8, 2.0.0
            Reporter: Tilman Hausherr
            Assignee: Tilman Hausherr
             Fix For: 1.8.8, 2.0.0


I get this with the file PDFBOX-2376-087731.pdf:
{code}
java.lang.NullPointerException
PDFBOX-2376-179204-EMC.pdf
	at org.apache.pdfbox.preflight.xobject.XObjImageValidator.checkColorSpaceAndImageMask(XObjImageValidator.java:132)
	at org.apache.pdfbox.preflight.xobject.XObjImageValidator.validate(XObjImageValidator.java:183)
	at org.apache.pdfbox.preflight.process.reflect.GraphicObjectPageValidationProcess.validate(GraphicObjectPageValidationProcess.java:70)
	at org.apache.pdfbox.preflight.utils.ContextHelper.callValidation(ContextHelper.java:73)
	at org.apache.pdfbox.preflight.utils.ContextHelper.validateElement(ContextHelper.java:52)
	at org.apache.pdfbox.preflight.process.reflect.ResourcesValidationProcess.validateXObjects(ResourcesValidationProcess.java:288)
	at org.apache.pdfbox.preflight.process.reflect.ResourcesValidationProcess.validate(ResourcesValidationProcess.java:80)
	at org.apache.pdfbox.preflight.utils.ContextHelper.callValidation(ContextHelper.java:73)
	at org.apache.pdfbox.preflight.utils.ContextHelper.validateElement(ContextHelper.java:52)
	at org.apache.pdfbox.preflight.process.reflect.SinglePageValidationProcess.validateResources(SinglePageValidationProcess.java:167)
	at org.apache.pdfbox.preflight.process.reflect.SinglePageValidationProcess.validate(SinglePageValidationProcess.java:82)
	at org.apache.pdfbox.preflight.utils.ContextHelper.callValidation(ContextHelper.java:73)
	at org.apache.pdfbox.preflight.utils.ContextHelper.validateElement(ContextHelper.java:52)
	at org.apache.pdfbox.preflight.process.PageTreeValidationProcess.validatePage(PageTreeValidationProcess.java:56)
	at org.apache.pdfbox.preflight.process.PageTreeValidationProcess.validate(PageTreeValidationProcess.java:45)
	at org.apache.pdfbox.preflight.utils.ContextHelper.callValidation(ContextHelper.java:73)
	at org.apache.pdfbox.preflight.utils.ContextHelper.validateElement(ContextHelper.java:88)
	at org.apache.pdfbox.preflight.PreflightDocument.validate(PreflightDocument.java:168)
	at pdfboxpageimageextraction.PreflightTest.main(PreflightTest.java:47)
{code}

The cause is this piece of code:
{code}
            Integer bitsPerCompValue = COSUtils.getAsInteger(bitsPerComp, cosDocument);
            if (bitsPerCompValue != 1)
{code}
which fails on this input:
{code}
44 0 obj<</Length 289/Filter/CCITTFaxDecode/DecodeParms<</K -1/Columns 282/Rows
40>>/Width 282/Height 40/ImageMask true/Subtype/Image>>
{code}
That segment is called only for image masks. The spec does not require BitsPerComponent for
image masks, but if they are there, they must be 1. So all I have to do is to add a null check.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message