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 2025/03/05 05:12:44 UTC

svn commit: r1924173 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java

Author: tilman
Date: Wed Mar  5 05:12:44 2025
New Revision: 1924173

URL: http://svn.apache.org/viewvc?rev=1924173&view=rev
Log:
PDFBOX-5968: avoid NPE

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java?rev=1924173&r1=1924172&r2=1924173&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java Wed Mar  5 05:12:44 2025
@@ -818,8 +818,12 @@ public class PDFMergerUtility
             {
                 int srcKey = entry.getKey();
                 maxSrcKey = Math.max(srcKey, maxSrcKey);
-                destNumberTreeAsMap.put(destParentTreeNextKey + srcKey,
-                        cloner.cloneForNewDocument(entry.getValue().getCOSObject()));
+                COSObjectable value = entry.getValue();
+                if (value != null)
+                {
+                    value = cloner.cloneForNewDocument(value.getCOSObject());
+                    destNumberTreeAsMap.put(destParentTreeNextKey + srcKey, value);
+                }
             }
             destParentTreeNextKey += maxSrcKey + 1;
             PDNumberTreeNode newParentTreeNode = new PDNumberTreeNode(PDParentTreeValue.class);
@@ -1105,8 +1109,12 @@ public class PDFMergerUtility
             }
             else
             {
-                destNames.put(entry.getKey(),
-                              new PDStructureElement(cloner.cloneForNewDocument(entry.getValue().getCOSObject())));
+                if (entry.getValue() != null)
+                {
+                    PDStructureElement structureElement = new PDStructureElement(
+                            cloner.cloneForNewDocument(entry.getValue().getCOSObject()));
+                    destNames.put(entry.getKey(), structureElement);
+                }
             }
         }
         destIDTree = new PDStructureElementNameTreeNode();