From dev-return-209346-archive-asf-public=cust-asf.ponee.io@tomcat.apache.org Mon Jun 1 13:58:27 2020 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id AD2821804BB for ; Mon, 1 Jun 2020 15:58:26 +0200 (CEST) Received: (qmail 25770 invoked by uid 500); 1 Jun 2020 13:58:25 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 25760 invoked by uid 99); 1 Jun 2020 13:58:25 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Jun 2020 13:58:25 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id ED20781F29; Mon, 1 Jun 2020 13:58:24 +0000 (UTC) Date: Mon, 01 Jun 2020 13:58:24 +0000 To: "dev@tomcat.apache.org" Subject: [tomcat] branch master updated: 64485: Fix possible resource leak MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-ID: <159101990467.1597.13051695944741927478@gitbox.apache.org> From: remm@apache.org X-Git-Host: gitbox.apache.org X-Git-Repo: tomcat X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: d64df9ae24c1fd038de9a15609993114bb3700eb X-Git-Newrev: be5025de4d21cb5e0e7e4573e22c6b8a79e01443 X-Git-Rev: be5025de4d21cb5e0e7e4573e22c6b8a79e01443 X-Git-NotificationType: ref_changed_plus_diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated This is an automated email from the ASF dual-hosted git repository. remm pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomcat.git The following commit(s) were added to refs/heads/master by this push: new be5025d 64485: Fix possible resource leak be5025d is described below commit be5025de4d21cb5e0e7e4573e22c6b8a79e01443 Author: remm AuthorDate: Mon Jun 1 15:58:02 2020 +0200 64485: Fix possible resource leak And actually use ConfigurationSource.Resource.getLastModified. --- java/org/apache/catalina/users/MemoryUserDatabase.java | 2 +- java/org/apache/tomcat/util/file/ConfigurationSource.java | 11 ++++++++++- webapps/docs/changelog.xml | 4 ++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/java/org/apache/catalina/users/MemoryUserDatabase.java b/java/org/apache/catalina/users/MemoryUserDatabase.java index 6062c75..a9d3fc8 100644 --- a/java/org/apache/catalina/users/MemoryUserDatabase.java +++ b/java/org/apache/catalina/users/MemoryUserDatabase.java @@ -425,7 +425,7 @@ public class MemoryUserDatabase implements UserDatabase { String pathName = getPathname(); try (ConfigurationSource.Resource resource = ConfigFileLoader.getSource().getResource(pathName)) { - this.lastModified = resource.getURI().toURL().openConnection().getLastModified(); + lastModified = resource.getLastModified(); // Construct a digester to read the XML input file Digester digester = new Digester(); diff --git a/java/org/apache/tomcat/util/file/ConfigurationSource.java b/java/org/apache/tomcat/util/file/ConfigurationSource.java index 2df11bc..57d5ce4 100644 --- a/java/org/apache/tomcat/util/file/ConfigurationSource.java +++ b/java/org/apache/tomcat/util/file/ConfigurationSource.java @@ -24,6 +24,7 @@ import java.io.InputStream; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; +import java.net.URLConnection; /** * Abstracts configuration file storage. Allows Tomcat embedding using the regular @@ -92,7 +93,15 @@ public interface ConfigurationSource { } public long getLastModified() throws MalformedURLException, IOException { - return uri.toURL().openConnection().getLastModified(); + URLConnection connection = null; + try { + connection = uri.toURL().openConnection(); + return connection.getLastModified(); + } finally { + if (connection != null) { + connection.getInputStream().close(); + } + } } @Override public void close() throws IOException { diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index eb3c72d..056cf3b 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -87,6 +87,10 @@ Expose server certificate through the SSLSupport interface. (remm) + + 64485: Fix possible resource leak geting last modified from + ConfigurationSource.Resource. (remm) + --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org