Author: lehmi Date: Tue Dec 26 11:42:09 2023 New Revision: 1914933 URL: http://svn.apache.org/viewvc?rev=1914933&view=rev Log: PDFBOX-5742: fix the collection of indirect object keys
Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java?rev=1914933&r1=1914932&r2=1914933&view=diff ============================================================================== --- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java (original) +++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java Tue Dec 26 11:42:09 2023 @@ -780,7 +780,6 @@ public class COSArray extends COSBase im } if (cosBase instanceof COSObject) { - indirectObjects.add(cosBaseKey); // dereference object cosBase = ((COSObject) cosBase).getObject(); } @@ -794,7 +793,11 @@ public class COSArray extends COSBase im // descend to included array to collect all included indirect objects ((COSArray) cosBase).getIndirectObjectKeys(indirectObjects); } + else if (cosBaseKey != null) + { + // add key for all indirect objects other than COSDictionary/COSArray + indirectObjects.add(cosBaseKey); + } } } - } Modified: pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java URL: http://svn.apache.org/viewvc/pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java?rev=1914933&r1=1914932&r2=1914933&view=diff ============================================================================== --- pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java (original) +++ pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java Tue Dec 26 11:42:09 2023 @@ -1462,7 +1462,6 @@ public class COSDictionary extends COSBa } if (cosBase instanceof COSObject) { - indirectObjects.add(cosBaseKey); // dereference object cosBase = ((COSObject) cosBase).getObject(); } @@ -1476,6 +1475,11 @@ public class COSDictionary extends COSBa // descend to included array to collect all included indirect objects ((COSArray) cosBase).getIndirectObjectKeys(indirectObjects); } + else if (cosBaseKey != null) + { + // add key for all indirect objects other than COSDictionary/COSArray + indirectObjects.add(cosBaseKey); + } } }