[
https://issues.apache.org/jira/browse/PDFBOX-2965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14735280#comment-14735280
]
ASF subversion and git services commented on PDFBOX-2965:
---------------------------------------------------------
Commit 1701846 from [~msahyoun] in branch 'pdfbox/branches/1.8'
[ https://svn.apache.org/r1701846 ]
PDFBOX-2965: avoid NPE in getField() if the /Fields entry is missing
> NPE in PDAcroForm.getField() if the /Fields entry is missing
> ------------------------------------------------------------
>
> Key: PDFBOX-2965
> URL: https://issues.apache.org/jira/browse/PDFBOX-2965
> Project: PDFBox
> Issue Type: Bug
> Components: AcroForm
> Affects Versions: 1.8.10
> Reporter: Maruan Sahyoun
> Assignee: Maruan Sahyoun
> Fix For: 1.8.11
>
>
> Form the users mailing list
> {quote}
> I get a lot of weird documents. When I try to set a particular field value,
> some of them throw NullPointerExceptions from line PDAcroForm.getField(),
> line 291:
> 287: COSArray fields =
> 288: (COSArray) acroForm.getDictionaryObject(
> 289: COSName.getPDFName("Fields"));
> 290:
> 291: for (int i = 0; i < fields.size() && retval == null; i++)
> 292:{
> To avoid this, at first I was calling PDAcroForm.getFields() and checking
> that to see if that was NULL but I realized that it would usually create a
> new fields array to return which seemed wasteful.
> Is the most efficient way to avoid this to first call:
> COSArray fields = (COSArray) acroForm.getDictionaryObject(
> COSName.getPDFName("Fields"));
> myself and check if that is NULL?
> Secondary Question:
> The method PDAcroForm.getFields() does a not-NULL check of fields before
> calling fields.size().
> Is there a reason that this check is not performed in getField()?
> {quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]