Author: tilman
Date: Tue Jan 20 20:00:47 2026
New Revision: 1931440

Log:
PDFBOX-5660: skip different directory

Modified:
   
pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java

Modified: 
pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
==============================================================================
--- 
pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
     Tue Jan 20 20:00:42 2026        (r1931439)
+++ 
pdfbox/branches/2.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
     Tue Jan 20 20:00:47 2026        (r1931440)
@@ -62,7 +62,7 @@ public final class ExtractEmbeddedFiles
         try
         {
             File pdfFile = new File(args[0]);
-            String directoryPath = pdfFile.getParent();
+            String directoryPath = pdfFile.getParentFile().getCanonicalPath();
             document = PDDocument.load(pdfFile );
             PDDocumentNameDictionary namesDictionary = 
                     new PDDocumentNameDictionary( 
document.getDocumentCatalog() );
@@ -145,6 +145,11 @@ public final class ExtractEmbeddedFiles
     {
         File file = new File(directoryPath, filename);
         File parentDir = file.getParentFile();
+        if (!parentDir.getCanonicalPath().startsWith(directoryPath))
+        {
+            System.err.println("Ignoring " + filename + " (different 
directory)");
+            return;
+        }
         if (!parentDir.exists())
         {
             // sometimes paths contain a directory

Reply via email to