Author: lehmi
Date: Tue Dec 26 11:42:27 2023
New Revision: 1914934

URL: http://svn.apache.org/viewvc?rev=1914934&view=rev
Log:
PDFBOX-5742: fix the collection of indirect object keys

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java?rev=1914934&r1=1914933&r2=1914934&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java 
(original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java Tue 
Dec 26 11:42:27 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,6 +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/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java?rev=1914934&r1=1914933&r2=1914934&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java 
(original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSDictionary.java 
Tue Dec 26 11:42:27 2023
@@ -1461,7 +1461,6 @@ public class COSDictionary extends COSBa
             }
             if (cosBase instanceof COSObject)
             {
-                indirectObjects.add(cosBaseKey);
                 // dereference object
                 cosBase = ((COSObject) cosBase).getObject();
             }
@@ -1475,6 +1474,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);
+            }
         }
     }
 


Reply via email to