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:44:29 UTC

svn commit: r1060793 - /tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java

Author: jukka
Date: Wed Jan 19 12:44:29 2011
New Revision: 1060793

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

Prevent HSLFExtractor from leaking temporary files.

Modified:
    tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java

Modified: tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java
URL: http://svn.apache.org/viewvc/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java?rev=1060793&r1=1060792&r2=1060793&view=diff
==============================================================================
--- tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java (original)
+++ tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/microsoft/HSLFExtractor.java Wed Jan 19 12:44:29 2011
@@ -42,15 +42,19 @@ public class HSLFExtractor extends Abstr
 
         List<OLEShape> shapeList = powerPointExtractor.getOLEShapes();
         for (OLEShape shape : shapeList) {
-            TikaInputStream stream = TikaInputStream.get(shape.getObjectData().getData());
-
-            String mediaType = null;
-
-            if ("Excel.Chart.8".equals(shape.getProgID())) {
-                mediaType = "application/vnd.ms-excel";
+            TikaInputStream stream =
+                TikaInputStream.get(shape.getObjectData().getData());
+            try {
+                String mediaType = null;
+                if ("Excel.Chart.8".equals(shape.getProgID())) {
+                    mediaType = "application/vnd.ms-excel";
+                }
+                handleEmbeddedResource(
+                        stream, Integer.toString(shape.getObjectID()),
+                        mediaType, xhtml, false);
+            } finally {
+                stream.close();
             }
-
-            handleEmbeddedResource(stream, Integer.toString(shape.getObjectID()), mediaType, xhtml, false);
         }
     }
 }