You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ju...@apache.org on 2011/01/19 13:12:11 UTC

svn commit: r1060780 - /tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java

Author: jukka
Date: Wed Jan 19 12:12:10 2011
New Revision: 1060780

URL: http://svn.apache.org/viewvc?rev=1060780&view=rev
Log:
TIKA-567: Temporary file leak in TikaInputStream

Prevent ParsingEmbeddedDocumentExtractor from leaking temporary files.

Modified:
    tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java

Modified: tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java?rev=1060780&r1=1060779&r2=1060780&view=diff
==============================================================================
--- tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java (original)
+++ tika/trunk/tika-core/src/main/java/org/apache/tika/extractor/ParsingEmbeddedDocumentExtractor.java Wed Jan 19 12:12:10 2011
@@ -25,6 +25,7 @@ import java.io.InputStream;
 
 import org.apache.tika.exception.TikaException;
 import org.apache.tika.io.CloseShieldInputStream;
+import org.apache.tika.io.TemporaryFiles;
 import org.apache.tika.io.TikaInputStream;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.parser.DelegatingParser;
@@ -89,13 +90,16 @@ public class ParsingEmbeddedDocumentExtr
         }
 
         // Use the delegate parser to parse this entry
+        TemporaryFiles tmp = new TemporaryFiles();
         try {
             DELEGATING_PARSER.parse(
-                    TikaInputStream.get(new CloseShieldInputStream(stream)),
+                    TikaInputStream.get(new CloseShieldInputStream(stream), tmp),
                     new EmbeddedContentHandler(new BodyContentHandler(handler)),
                     metadata, context);
         } catch (TikaException e) {
             // Could not parse the entry, just skip the content
+        } finally {
+            tmp.dispose();
         }
 
         if(outputHtml) {