[ 
https://issues.apache.org/jira/browse/PDFBOX-891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Adam Nichols resolved PDFBOX-891.
---------------------------------

    Resolution: Fixed
      Assignee: Adam Nichols

Patch has been committed in revision 1037069

> Malformed document causes NPE in PDNameTreeNode.getValue
> --------------------------------------------------------
>
>                 Key: PDFBOX-891
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-891
>             Project: PDFBox
>          Issue Type: Bug
>          Components: PDModel
>    Affects Versions: 1.3.1
>            Reporter: Kevin Jackson
>            Assignee: Adam Nichols
>
> If a NameTreeNode has neither a Names or Kids item, then getValue crashes 
> with a Null Pointer Exception.
> Fix:
> ### Eclipse Workspace Patch 1.0
> #P pdfbox
> Index: 
> pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java
> ===================================================================
> --- pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java 
> (revision 1026306)
> +++ pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java 
> (working copy)
> @@ -147,13 +147,15 @@
>          else
>          {
>              List kids = getKids();
> -            for( int i=0; i<kids.size() && retval == null; i++ )
> -            {
> -                PDNameTreeNode childNode = (PDNameTreeNode)kids.get( i );
> -                if( childNode.getLowerLimit().compareTo( name ) <= 0 &&
> -                        childNode.getUpperLimit().compareTo( name ) >= 0 )
> +            if (kids != null) {
> +                for( int i=0; i<kids.size() && retval == null; i++ )
>                  {
> -                    retval = childNode.getValue( name );
> +                    PDNameTreeNode childNode = (PDNameTreeNode)kids.get( i );
> +                    if( childNode.getLowerLimit().compareTo( name ) <= 0 &&
> +                            childNode.getUpperLimit().compareTo( name ) >= 0 
> )
> +                    {
> +                        retval = childNode.getValue( name );
> +                    }
>                  }
>              }
>          }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to