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

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-email.git


The following commit(s) were added to refs/heads/master by this push:
     new d251d20  DataSourceUrlResolver.resolve(String, boolean) leaks 
InputStreams
d251d20 is described below

commit d251d20682266e35935ba7c8222a01dcec598d97
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat Dec 16 11:34:34 2023 -0500

    DataSourceUrlResolver.resolve(String, boolean) leaks InputStreams
---
 src/changes/changes.xml                                             | 1 +
 .../org/apache/commons/mail/resolver/DataSourceUrlResolver.java     | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 9b09138..baaf786 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -40,6 +40,7 @@
       <action dev="ggregory" type="fix" due-to="Loki-Afro, Gary 
Gregory">Migrate to JUnit 5 #186.</action>
       <action issue="EMAIL-174" type="fix" due-to="Vegard Stuen">Bump 
javax.mail dependency to 1.6.1, so that i18n is supported for email 
addresses.</action>
       <action dev="ggregory" type="fix" due-to="Loki-Afro, Gary Gregory">Add 
missing getters and setters in EMail and subclasses; deprecate access to 
protected instance variables.</action>
+      <action dev="ggregory" type="fix" due-to="Gary 
Gregory">DataSourceUrlResolver.resolve(String, boolean) leaks 
InputStreams.</action>
       <!-- ADD -->
       <action type="add" due-to="Dependabot" dev="ggregory">Add 
github/codeql-action #75.</action>
       <action type="add" due-to="Gary Gregory" dev="ggregory">Add Maven plugin 
JapiCmp and remove Clirr.</action>
diff --git 
a/src/main/java/org/apache/commons/mail/resolver/DataSourceUrlResolver.java 
b/src/main/java/org/apache/commons/mail/resolver/DataSourceUrlResolver.java
index c572946..f9f1d04 100644
--- a/src/main/java/org/apache/commons/mail/resolver/DataSourceUrlResolver.java
+++ b/src/main/java/org/apache/commons/mail/resolver/DataSourceUrlResolver.java
@@ -17,6 +17,7 @@
 package org.apache.commons.mail.resolver;
 
 import java.io.IOException;
+import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URL;
 
@@ -99,7 +100,10 @@ public class DataSourceUrlResolver extends 
DataSourceBaseResolver {
         try {
             if (!isCid(resourceLocation)) {
                 result = new URLDataSource(createUrl(resourceLocation));
-                result.getInputStream();
+                // validate we can read.
+                try (InputStream inputStream = result.getInputStream()) {
+                    inputStream.read();
+                }
             }
             return result;
         } catch (final IOException e) {

Reply via email to