This is an automated email from the ASF dual-hosted git repository.
tilman pushed a commit to branch branch_2x
in repository https://gitbox.apache.org/repos/asf/tika.git
The following commit(s) were added to refs/heads/branch_2x by this push:
new 58717abc1 TIKA-4531 fix some resource leaks (#2377)
58717abc1 is described below
commit 58717abc15d83d72c5a8d2da6f72a4d0dd104946
Author: AROP <[email protected]>
AuthorDate: Tue Oct 28 19:14:40 2025 +0800
TIKA-4531 fix some resource leaks (#2377)
Co-authored-by: xcx <[email protected]>
---
.../microsoft/ooxml/AbstractOOXMLExtractor.java | 43 +++++++++++-----------
1 file changed, 21 insertions(+), 22 deletions(-)
diff --git
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/AbstractOOXMLExtractor.java
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/AbstractOOXMLExtractor.java
index 1475b7838..a99e26301 100644
---
a/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/AbstractOOXMLExtractor.java
+++
b/tika-parsers/tika-parsers-standard/tika-parsers-standard-modules/tika-parser-microsoft-module/src/main/java/org/apache/tika/parser/microsoft/ooxml/AbstractOOXMLExtractor.java
@@ -177,29 +177,28 @@ public abstract class AbstractOOXMLExtractor implements
OOXMLExtractor {
if (tPart == null) {
continue;
}
- InputStream tStream = tPart.getInputStream();
- Metadata thumbnailMetadata = new Metadata();
- String thumbName = tPart.getPartName().getName();
- thumbnailMetadata.set(TikaCoreProperties.RESOURCE_NAME_KEY,
thumbName);
-
- AttributesImpl attributes = new AttributesImpl();
- attributes.addAttribute(XHTML, "class", "class", "CDATA",
"embedded");
- attributes.addAttribute(XHTML, "id", "id", "CDATA", thumbName);
- handler.startElement(XHTML, "div", "div", attributes);
- handler.endElement(XHTML, "div", "div");
-
-
thumbnailMetadata.set(TikaCoreProperties.EMBEDDED_RELATIONSHIP_ID, thumbName);
- thumbnailMetadata.set(Metadata.CONTENT_TYPE,
tPart.getContentType());
- thumbnailMetadata.set(TikaCoreProperties.TITLE,
tPart.getPartName().getName());
-
thumbnailMetadata.set(TikaCoreProperties.EMBEDDED_RESOURCE_TYPE,
-
TikaCoreProperties.EmbeddedResourceType.THUMBNAIL.name());
-
- if (embeddedExtractor.shouldParseEmbedded(thumbnailMetadata)) {
-
embeddedExtractor.parseEmbedded(TikaInputStream.get(tStream),
- new EmbeddedContentHandler(handler),
thumbnailMetadata, false);
+ try (InputStream tStream = tPart.getInputStream()) {
+ Metadata thumbnailMetadata = new Metadata();
+ String thumbName = tPart.getPartName().getName();
+
thumbnailMetadata.set(TikaCoreProperties.RESOURCE_NAME_KEY, thumbName);
+
+ AttributesImpl attributes = new AttributesImpl();
+ attributes.addAttribute(XHTML, "class", "class", "CDATA",
"embedded");
+ attributes.addAttribute(XHTML, "id", "id", "CDATA",
thumbName);
+ handler.startElement(XHTML, "div", "div", attributes);
+ handler.endElement(XHTML, "div", "div");
+
+
thumbnailMetadata.set(TikaCoreProperties.EMBEDDED_RELATIONSHIP_ID, thumbName);
+ thumbnailMetadata.set(Metadata.CONTENT_TYPE,
tPart.getContentType());
+ thumbnailMetadata.set(TikaCoreProperties.TITLE,
tPart.getPartName().getName());
+
thumbnailMetadata.set(TikaCoreProperties.EMBEDDED_RESOURCE_TYPE,
+
TikaCoreProperties.EmbeddedResourceType.THUMBNAIL.name());
+
+ if
(embeddedExtractor.shouldParseEmbedded(thumbnailMetadata)) {
+
embeddedExtractor.parseEmbedded(TikaInputStream.get(tStream),
+ new EmbeddedContentHandler(handler),
thumbnailMetadata, false);
+ }
}
-
- tStream.close();
}
} catch (SecurityException e) {
throw e;