diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-04-04 11:09:30 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-04-04 15:26:43 +0200 |
commit | 99c0772a590343e5b910b31dd0ff291e00cc5228 (patch) | |
tree | a068fda1615b13fb93822b24bda8295db59e39ab /vespajlib/src/main/java/com/yahoo/compress | |
parent | 6e75b2fbedc7e6af66d3758499e26d99f61d0944 (diff) |
Ignore directories
Diffstat (limited to 'vespajlib/src/main/java/com/yahoo/compress')
-rw-r--r-- | vespajlib/src/main/java/com/yahoo/compress/ArchiveStreamReader.java | 3 |
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 + "'"); } } |