diff options
author | Andreas Beeker <kiwiwings@apache.org> | 2016-03-09 01:25:02 +0000 |
---|---|---|
committer | Andreas Beeker <kiwiwings@apache.org> | 2016-03-09 01:25:02 +0000 |
commit | 08bfa54296af5e5e01e7effafaf6aa860d20b0d6 (patch) | |
tree | 37f44cfafb9db29f9051cf1aa1039819a759d3e3 | |
parent | cddbdbee41a9f0753de21d3c19aed694887ca009 (diff) | |
download | poi-08bfa54296af5e5e01e7effafaf6aa860d20b0d6.tar.gz poi-08bfa54296af5e5e01e7effafaf6aa860d20b0d6.zip |
#59058 - OOM when parsing docx after OPCPackage.open with File but not with InputStream (TIKA-1866)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1734184 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFBugs.java | 21 | ||||
-rw-r--r-- | test-data/document/bug57031.docx | bin | 0 -> 55889 bytes | |||
-rw-r--r-- | test-data/document/bug59058.docx | bin | 0 -> 210256 bytes |
3 files changed, 20 insertions, 1 deletions
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFBugs.java b/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFBugs.java index 6f7e4b689e..79bf0806d5 100644 --- a/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFBugs.java +++ b/src/ooxml/testcases/org/apache/poi/xwpf/TestXWPFBugs.java @@ -21,11 +21,15 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue;
import java.io.File;
+import java.io.IOException;
import java.io.InputStream;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
import javax.crypto.Cipher;
import org.apache.poi.POIDataSamples;
+import org.apache.poi.openxml4j.OpenXML4JTestDataSamples;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.poifs.crypt.CipherAlgorithm;
import org.apache.poi.poifs.crypt.Decryptor;
@@ -34,8 +38,10 @@ import org.apache.poi.poifs.crypt.HashAlgorithm; import org.apache.poi.poifs.filesystem.NPOIFSFileSystem;
import org.apache.poi.xwpf.extractor.XWPFWordExtractor;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
+import org.apache.xmlbeans.XmlException;
import org.junit.Assume;
import org.junit.Test;
+import org.openxmlformats.schemas.wordprocessingml.x2006.main.DocumentDocument;
public class TestXWPFBugs {
/**
@@ -106,4 +112,17 @@ public class TestXWPFBugs { filesystem.close();
}
-}
+
+
+ @Test
+ public void bug59058() throws IOException, XmlException {
+ String files[] = { "bug57031.docx", "bug59058.docx" };
+ for (String f : files) {
+ ZipFile zf = new ZipFile(POIDataSamples.getDocumentInstance().getFile(f));
+ ZipEntry entry = zf.getEntry("word/document.xml");
+ DocumentDocument document = DocumentDocument.Factory.parse(zf.getInputStream(entry));
+ assertNotNull(document);
+ zf.close();
+ }
+ }
+}
\ No newline at end of file diff --git a/test-data/document/bug57031.docx b/test-data/document/bug57031.docx Binary files differnew file mode 100644 index 0000000000..6a1230e6f3 --- /dev/null +++ b/test-data/document/bug57031.docx diff --git a/test-data/document/bug59058.docx b/test-data/document/bug59058.docx Binary files differnew file mode 100644 index 0000000000..08808daec8 --- /dev/null +++ b/test-data/document/bug59058.docx |