[ 
https://issues.apache.org/jira/browse/PDFBOX-2488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14218174#comment-14218174
 ] 

Tilman Hausherr commented on PDFBOX-2488:
-----------------------------------------

Guilty part:

{code}
1807 0 obj
<< 
/Type /Font 
/Subtype /Type1 
/BaseFont /Times-Roman 
/FirstChar 0 
/LastChar 255 
/Widths 1811 0 R 
/FontDescriptor 1808 0 R 
>> 
endobj
1808 0 obj
<< 
/Type /FontDescriptor 
/FontBBox [ -168 -218 1000 898 ] 
/Ascent 898 
/Descent -218 
/CapHeight 898 
/ItalicAngle 0 
/Flags 32 
/StemV 0 
/FontFile 1809 0 R 
>> 
endobj
{code}

/FontName is missing. This is checked elsewhere 
(FontDescriptorHelper.checkMandatoryFields()), i.e. it is flagged as error. So 
all we need to do is to add a null check in FontValidator.isSubSet().

> NPE in FontValidator.isSubSet in preflight
> ------------------------------------------
>
>                 Key: PDFBOX-2488
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-2488
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Preflight
>    Affects Versions: 2.0.0
>            Reporter: Tilman Hausherr
>         Attachments: 012368.pdf
>
>
> {code}
> java.lang.NullPointerException
>       at 
> org.apache.pdfbox.preflight.font.FontValidator.isSubSet(FontValidator.java:48)
>        at 
> org.apache.pdfbox.preflight.font.FontValidator.isSubSet(FontValidator.java:48)
>       at 
> org.apache.pdfbox.preflight.font.descriptor.Type1DescriptorHelper.checkMandatoryFields(Type1DescriptorHelper.java:59)
>       at 
> org.apache.pdfbox.preflight.font.descriptor.FontDescriptorHelper.validate(FontDescriptorHelper.java:96)
>       at 
> org.apache.pdfbox.preflight.font.SimpleFontValidator.processFontDescriptorValidation(SimpleFontValidator.java:121)
>       at 
> org.apache.pdfbox.preflight.font.SimpleFontValidator.validate(SimpleFontValidator.java:60)
>       at 
> org.apache.pdfbox.preflight.process.reflect.FontValidationProcess.validate(FontValidationProcess.java:73)
>       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.validateFonts(ResourcesValidationProcess.java:98)
>       at 
> org.apache.pdfbox.preflight.process.reflect.ResourcesValidationProcess.validate(ResourcesValidationProcess.java:76)
>       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:41)
> {code}



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

Reply via email to