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