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;

Reply via email to