This is an automated email from the ASF dual-hosted git repository. reta pushed a commit to branch 3.6.x-fixes in repository https://gitbox.apache.org/repos/asf/cxf.git
commit b592d3e663e4c0184702b7d628d85dc3d72a7187 Author: Xu Chengxin <[email protected]> AuthorDate: Fri Jun 13 02:19:41 2025 +0800 Fix some potential resource leaks (#2455) * Fix some potential resource leaks * Update TLSParameterJaxBUtils.java --------- Co-authored-by: xcx <[email protected]> (cherry picked from commit 805eaa78a566e338c23b7ec630e304d0b068e354) (cherry picked from commit bfe4b2e344484d5111012e198fb539d7b09f4518) --- .../apache/cxf/attachment/ImageDataContentHandler.java | 15 ++++++++------- .../cxf/configuration/jsse/TLSParameterJaxBUtils.java | 15 ++++++++------- .../org/apache/cxf/interceptor/LoggingInInterceptor.java | 4 +--- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/core/src/main/java/org/apache/cxf/attachment/ImageDataContentHandler.java b/core/src/main/java/org/apache/cxf/attachment/ImageDataContentHandler.java index 0de70cd3ce..05d1c4786c 100644 --- a/core/src/main/java/org/apache/cxf/attachment/ImageDataContentHandler.java +++ b/core/src/main/java/org/apache/cxf/attachment/ImageDataContentHandler.java @@ -84,13 +84,14 @@ public class ImageDataContentHandler implements DataContentHandler { if (writers.hasNext()) { ImageWriter writer = writers.next(); - BufferedImage bimg = convertToBufferedImage((Image)obj); - ImageOutputStream out = ImageIO.createImageOutputStream(os); - writer.setOutput(out); - writer.write(bimg); - writer.dispose(); - out.flush(); - out.close(); + try (ImageOutputStream out = ImageIO.createImageOutputStream(os)) { + writer.setOutput(out); + BufferedImage bimg = convertToBufferedImage((Image) obj); + writer.write(bimg); + out.flush(); + } finally { + writer.dispose(); + } return; } } else if (obj instanceof byte[]) { diff --git a/core/src/main/java/org/apache/cxf/configuration/jsse/TLSParameterJaxBUtils.java b/core/src/main/java/org/apache/cxf/configuration/jsse/TLSParameterJaxBUtils.java index 3e8e3ba8af..9dc81b1236 100644 --- a/core/src/main/java/org/apache/cxf/configuration/jsse/TLSParameterJaxBUtils.java +++ b/core/src/main/java/org/apache/cxf/configuration/jsse/TLSParameterJaxBUtils.java @@ -153,14 +153,15 @@ public final class TLSParameterJaxBUtils { keyStore.load(kstInputStream, password); } } else if (kst.isSetResource()) { - final InputStream is = getResourceAsStream(kst.getResource()); - if (is == null) { - final String msg = - "Could not load keystore resource " + kst.getResource(); - LOG.severe(msg); - throw new IOException(msg); + try (InputStream is = getResourceAsStream(kst.getResource())) { + if (is == null) { + final String msg = + "Could not load keystore resource " + kst.getResource(); + LOG.severe(msg); + throw new IOException(msg); + } + keyStore.load(is, password); } - keyStore.load(is, password); } else if (kst.isSetUrl()) { keyStore.load(new URL(kst.getUrl()).openStream(), password); } else { diff --git a/core/src/main/java/org/apache/cxf/interceptor/LoggingInInterceptor.java b/core/src/main/java/org/apache/cxf/interceptor/LoggingInInterceptor.java index 5b1d6a36e8..1975d685cb 100644 --- a/core/src/main/java/org/apache/cxf/interceptor/LoggingInInterceptor.java +++ b/core/src/main/java/org/apache/cxf/interceptor/LoggingInInterceptor.java @@ -169,8 +169,7 @@ public class LoggingInInterceptor extends AbstractLoggingInterceptor { } protected void logReader(Message message, Reader reader, LoggingMessage buffer) { - try { - CachedWriter writer = new CachedWriter(); + try (CachedWriter writer = new CachedWriter()) { IOUtils.copyAndCloseInput(reader, writer); message.setContent(Reader.class, writer.getReader()); @@ -183,7 +182,6 @@ public class LoggingInInterceptor extends AbstractLoggingInterceptor { buffer.getMessage().append("(message truncated to ").append(limit).append(" bytes)\n"); } writer.writeCacheTo(buffer.getPayload(), limit); - writer.close(); } catch (Exception e) { throw new Fault(e); }
