You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2021/01/06 18:18:34 UTC

svn commit: r1885206 - /pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java

Author: tilman
Date: Wed Jan  6 18:18:34 2021
New Revision: 1885206

URL: http://svn.apache.org/viewvc?rev=1885206&view=rev
Log:
PDFBOX-5072: avoid IndexOutOfBoundsException

Modified:
    pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java

Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java?rev=1885206&r1=1885205&r2=1885206&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/common/PDNameTreeNode.java Wed Jan  6 18:18:34 2021
@@ -272,7 +272,11 @@ public class PDNameTreeNode implements C
         if( namesArray != null )
         {
             Map<String, COSObjectable> names = new LinkedHashMap<String, COSObjectable>();
-            for( int i=0; i<namesArray.size(); i+=2 )
+            if (namesArray.size() % 2 != 0)
+            {
+                LOG.warn("Names array has odd size: " + namesArray.size());
+            }
+            for (int i = 0; i + 1 < namesArray.size(); i += 2)
             {
                 COSString key = (COSString)namesArray.getObject(i);
                 COSBase cosValue = namesArray.getObject( i+1 );