You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by ta...@apache.org on 2021/02/11 15:54:37 UTC

[tika] branch main updated: TIKA-3299 strings parser should not leave behind temp file.

This is an automated email from the ASF dual-hosted git repository.

tallison pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tika.git


The following commit(s) were added to refs/heads/main by this push:
     new 1f91329  TIKA-3299 strings parser should not leave behind temp file.
1f91329 is described below

commit 1f91329dad9546f5d13fa8c4c32bc5fb18e7376a
Author: tballison <ta...@apache.org>
AuthorDate: Thu Feb 11 10:54:27 2021 -0500

    TIKA-3299 strings parser should not leave behind temp file.
---
 .../apache/tika/parser/strings/StringsParser.java  | 34 +++++++++++++---------
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/StringsParser.java b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/StringsParser.java
index cea6b7c..c0eaf09 100644
--- a/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/StringsParser.java
+++ b/tika-parsers/tika-parsers-classic/tika-parsers-classic-modules/tika-parser-text-module/src/main/java/org/apache/tika/parser/strings/StringsParser.java
@@ -30,6 +30,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
 import org.apache.tika.exception.TikaException;
+import org.apache.tika.io.TemporaryResources;
 import org.apache.tika.io.TikaInputStream;
 import org.apache.tika.metadata.Metadata;
 import org.apache.tika.mime.MediaType;
@@ -87,27 +88,32 @@ public class StringsParser extends AbstractParser {
 			return;
 		}
 
-		TikaInputStream tis = TikaInputStream.get(stream);
-		File input = tis.getFile();
+		TemporaryResources tmp = new TemporaryResources();
+		TikaInputStream tis = TikaInputStream.get(stream, tmp);
+		try {
+			File input = tis.getFile();
 
-		// Metadata
-		metadata.set("strings:min-len", "" + stringsConfig.getMinLength());
-		metadata.set("strings:encoding", stringsConfig.toString());
-		metadata.set("strings:file_output", doFile(input, fileConfig));
+			// Metadata
+			metadata.set("strings:min-len", "" + stringsConfig.getMinLength());
+			metadata.set("strings:encoding", stringsConfig.toString());
+			metadata.set("strings:file_output", doFile(input, fileConfig));
 
-		int totalBytes = 0;
+			int totalBytes = 0;
 
-		// Content
-		XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
+			// Content
+			XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
 
-		xhtml.startDocument();
+			xhtml.startDocument();
 
-		totalBytes = doStrings(input, stringsConfig, xhtml);
+			totalBytes = doStrings(input, stringsConfig, xhtml);
 
-		xhtml.endDocument();
+			xhtml.endDocument();
 
-		// Metadata
-		metadata.set("strings:length", "" + totalBytes);
+			// Metadata
+			metadata.set("strings:length", "" + totalBytes);
+		} finally {
+			tmp.close();
+		}
 	}
 
 	/**