Return-Path: X-Original-To: apmail-pdfbox-dev-archive@www.apache.org Delivered-To: apmail-pdfbox-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 5CC4610D8A for ; Mon, 3 Nov 2014 20:09:34 +0000 (UTC) Received: (qmail 58640 invoked by uid 500); 3 Nov 2014 20:09:34 -0000 Delivered-To: apmail-pdfbox-dev-archive@pdfbox.apache.org Received: (qmail 58612 invoked by uid 500); 3 Nov 2014 20:09:34 -0000 Mailing-List: contact dev-help@pdfbox.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@pdfbox.apache.org Delivered-To: mailing list dev@pdfbox.apache.org Received: (qmail 58595 invoked by uid 99); 3 Nov 2014 20:09:34 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Nov 2014 20:09:34 +0000 Date: Mon, 3 Nov 2014 20:09:33 +0000 (UTC) From: "Tilman Hausherr (JIRA)" To: dev@pdfbox.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (PDFBOX-2478) NPE in XObjImageValidator.checkColorSpaceAndImageMask MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 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<>/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)