You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2021/12/10 18:07:25 UTC

svn commit: r1895788 - /poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java

Author: fanningpj
Date: Fri Dec 10 18:07:25 2021
New Revision: 1895788

URL: http://svn.apache.org/viewvc?rev=1895788&view=rev
Log:
[bug-65738] do not treat zip directories as parts

Modified:
    poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java

Modified: poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java?rev=1895788&r1=1895787&r2=1895788&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java (original)
+++ poi/trunk/poi-ooxml/src/main/java/org/apache/poi/openxml4j/opc/ZipPackage.java Fri Dec 10 18:07:25 2021
@@ -308,6 +308,7 @@ public final class ZipPackage extends OP
         //  its relationship exists, and then it won't tie up)
         final List<EntryTriple> entries =
                 Collections.list(zipArchive.getEntries()).stream()
+                        .filter(zipArchiveEntry -> !ignoreEntry(zipArchiveEntry))
                         .map(zae -> new EntryTriple(zae, contentTypeManager))
                         .filter(mm -> mm.partName != null)
                         .sorted()
@@ -320,6 +321,11 @@ public final class ZipPackage extends OP
         return newPartList;
     }
 
+    private static boolean ignoreEntry(ZipArchiveEntry zipArchiveEntry) {
+        String name = zipArchiveEntry.getName();
+        return name.startsWith("[trash]") || name.endsWith("/");
+    }
+
     private class EntryTriple implements Comparable<EntryTriple> {
         final ZipArchiveEntry zipArchiveEntry;
         final PackagePartName partName;
@@ -331,7 +337,7 @@ public final class ZipPackage extends OP
             final String entryName = zipArchiveEntry.getName();
             PackagePartName ppn = null;
             // ignore trash parts
-            if (!entryName.startsWith("[trash]")) {
+            if (!ignoreEntry(zipArchiveEntry)) {
                 try {
                     // We get an error when we parse [Content_Types].xml
                     // because it's not a valid URI.



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org