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


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