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 2024/05/02 08:48:00 UTC

svn commit: r1917468 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf: PDFMergerUtility.java Splitter.java

Author: tilman
Date: Thu May  2 08:48:00 2024
New Revision: 1917468

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

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/Splitter.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=1917468&r1=1917467&r2=1917468&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 Thu May  2 08:48:00 2024
@@ -1090,6 +1090,10 @@ public class PDFMergerUtility
             PDStructureTreeRoot srcStructTree,
             PDStructureTreeRoot destStructTree) throws IOException
     {
+        if (srcStructTree == null)
+        {
+            return;
+        }
         PDNameTreeNode<PDStructureElement> srcIDTree = srcStructTree.getIDTree();
         if (srcIDTree == null)
         {
@@ -1128,6 +1132,10 @@ public class PDFMergerUtility
     static Map<String, PDStructureElement> getIDTreeAsMap(PDNameTreeNode<PDStructureElement> idTree)
             throws IOException
     {
+        if (idTree == null)
+        {
+            return new LinkedHashMap<>();
+        }
         Map<String, PDStructureElement> names = idTree.getNames();
         if (names == null)
         {
@@ -1154,6 +1162,10 @@ public class PDFMergerUtility
     static Map<Integer, COSObjectable> getNumberTreeAsMap(PDNumberTreeNode tree)
             throws IOException
     {
+        if (tree == null)
+        {
+            return new LinkedHashMap<>();
+        }
         Map<Integer, COSObjectable> numbers = tree.getNumbers();
         if (numbers == null)
         {

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/Splitter.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/Splitter.java?rev=1917468&r1=1917467&r2=1917468&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/Splitter.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/Splitter.java Thu May  2 08:48:00 2024
@@ -798,6 +798,10 @@ public class Splitter
             if (annotation instanceof PDAnnotationMarkup)
             {
                 PDAnnotationPopup annotationPopup = ((PDAnnotationMarkup) annotation).getPopup();
+                if (annotationPopup == null)
+                {
+                    continue;
+                }
                 COSDictionary clonedPopupDict = annotDictMap.get(annotationPopup.getCOSObject());
                 if (clonedPopupDict != null)
                 {