aboutsummaryrefslogtreecommitdiffstats
path: root/vespajlib/src/main/java/com/yahoo/compress
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-04-04 11:09:30 +0200
committerMartin Polden <mpolden@mpolden.no>2022-04-04 15:26:43 +0200
commit99c0772a590343e5b910b31dd0ff291e00cc5228 (patch)
treea068fda1615b13fb93822b24bda8295db59e39ab /vespajlib/src/main/java/com/yahoo/compress
parent6e75b2fbedc7e6af66d3758499e26d99f61d0944 (diff)
Ignore directories
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/compress')
-rw-r--r--vespajlib/src/main/java/com/yahoo/compress/ArchiveStreamReader.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/vespajlib/src/main/java/com/yahoo/compress/ArchiveStreamReader.java b/vespajlib/src/main/java/com/yahoo/compress/ArchiveStreamReader.java
index 9f6bd5b1bb8..9b60518e7b6 100644
--- a/vespajlib/src/main/java/com/yahoo/compress/ArchiveStreamReader.java
+++ b/vespajlib/src/main/java/com/yahoo/compress/ArchiveStreamReader.java
@@ -56,6 +56,7 @@ public class ArchiveStreamReader implements AutoCloseable {
while ((entry = archiveInputStream.getNextEntry()) != null) {
Path path = Path.fromString(requireNormalized(entry.getName()));
if (isSymlink(entry)) throw new IllegalArgumentException("Archive entry " + path + " is a symbolic link, which is disallowed");
+ if (entry.isDirectory()) continue;
if (!options.pathPredicate.test(path.toString())) continue;
long size = 0;
@@ -140,7 +141,7 @@ public class ArchiveStreamReader implements AutoCloseable {
private static String requireNormalized(String name) {
for (var part : name.split("/")) {
- if (part.equals(".") || part.equals("..") || part.isEmpty()) {
+ if (part.isEmpty() || part.equals(".") || part.equals("..")) {
throw new IllegalArgumentException("Unexpected non-normalized path found in zip content: '" + name + "'");
}
}