Author: tilman
Date: Sun Mar 22 07:16:41 2026
New Revision: 1932444
Log:
PDFBOX-6180: improve directory boundary check, as suggested by Kaixuan Li;
closes #427
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
==============================================================================
---
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
Sun Mar 22 07:16:37 2026 (r1932443)
+++
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
Sun Mar 22 07:16:41 2026 (r1932444)
@@ -141,7 +141,9 @@ public final class ExtractEmbeddedFiles
{
File file = new File(directoryPath, filename);
File parentDir = file.getParentFile();
- if (!parentDir.getCanonicalPath().startsWith(directoryPath))
+ String parentCanonical = parentDir.getCanonicalPath();
+ if (!parentCanonical.equals(directoryPath) &&
+ !parentCanonical.startsWith(directoryPath + File.separator))
{
System.err.println("Ignoring " + filename + " (different
directory)");
return;