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/03/21 19:19:21 UTC
svn commit: r1887910 -
/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
Author: tilman
Date: Sun Mar 21 19:19:21 2021
New Revision: 1887910
URL: http://svn.apache.org/viewvc?rev=1887910&view=rev
Log:
PDFBOX-4892: avoid NPE
Modified:
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java?rev=1887910&r1=1887909&r2=1887910&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java Sun Mar 21 19:19:21 2021
@@ -19,15 +19,15 @@ package org.apache.pdfbox.examples.pdmod
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
-import java.util.List;
-import java.util.Map;
+import java.util.List;
+import java.util.Map;
import java.util.Map.Entry;
import org.apache.pdfbox.Loader;
import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.PDDocumentNameDictionary;
-import org.apache.pdfbox.pdmodel.PDEmbeddedFilesNameTreeNode;
-import org.apache.pdfbox.pdmodel.PDPage;
+import org.apache.pdfbox.pdmodel.PDDocumentNameDictionary;
+import org.apache.pdfbox.pdmodel.PDEmbeddedFilesNameTreeNode;
+import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.common.PDNameTreeNode;
import org.apache.pdfbox.pdmodel.common.filespecification.PDComplexFileSpecification;
import org.apache.pdfbox.pdmodel.common.filespecification.PDEmbeddedFile;
@@ -59,13 +59,13 @@ public final class ExtractEmbeddedFiles
usage();
System.exit(1);
}
-
- File pdfFile = new File(args[0]);
- String filePath = pdfFile.getParent() + System.getProperty("file.separator");
- try (PDDocument document = Loader.loadPDF(pdfFile))
- {
- PDDocumentNameDictionary namesDictionary =
- new PDDocumentNameDictionary(document.getDocumentCatalog());
+
+ File pdfFile = new File(args[0]);
+ String filePath = pdfFile.getParent() + System.getProperty("file.separator");
+ try (PDDocument document = Loader.loadPDF(pdfFile))
+ {
+ PDDocumentNameDictionary namesDictionary =
+ new PDDocumentNameDictionary(document.getDocumentCatalog());
PDEmbeddedFilesNameTreeNode efTree = namesDictionary.getEmbeddedFiles();
if (efTree != null)
{
@@ -111,6 +111,10 @@ public final class ExtractEmbeddedFiles
else
{
List<PDNameTreeNode<PDComplexFileSpecification>> kids = efTree.getKids();
+ if (kids == null)
+ {
+ return;
+ }
for (PDNameTreeNode<PDComplexFileSpecification> node : kids)
{
names = node.getNames();