Author: tilman
Date: Tue Jan 20 20:00:37 2026
New Revision: 1931438
Log:
PDFBOX-5660: skip different directory
Modified:
pdfbox/branches/3.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
Modified:
pdfbox/branches/3.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
==============================================================================
---
pdfbox/branches/3.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
Tue Jan 20 18:45:03 2026 (r1931437)
+++
pdfbox/branches/3.0/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
Tue Jan 20 20:00:37 2026 (r1931438)
@@ -61,7 +61,7 @@ public final class ExtractEmbeddedFiles
}
File pdfFile = new File(args[0]);
- String directoryPath = pdfFile.getParent();
+ String directoryPath = pdfFile.getParentFile().getCanonicalPath();
try (PDDocument document = Loader.loadPDF(pdfFile))
{
PDDocumentNameDictionary namesDictionary =
@@ -141,6 +141,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