This results in a compiler error. See below for details.

Am 17.04.2019 um 18:56 schrieb ma...@apache.org:
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/7.0.x by this push:
      new fdf8f00  Fix resource leak on exception path
fdf8f00 is described below

commit fdf8f00109e6c5a47dee9f83080a8b55433d57bf
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Apr 17 17:55:16 2019 +0100

     Fix resource leak on exception path
Identified by Coverity scan
---
  java/org/apache/naming/factory/LookupFactory.java | 8 ++++++++
  webapps/docs/changelog.xml                        | 4 ++++
  2 files changed, 12 insertions(+)

diff --git a/java/org/apache/naming/factory/LookupFactory.java 
b/java/org/apache/naming/factory/LookupFactory.java
index 25094e1..ca5444b 100644
--- a/java/org/apache/naming/factory/LookupFactory.java
+++ b/java/org/apache/naming/factory/LookupFactory.java
@@ -134,6 +134,14 @@ public class LookupFactory implements ObjectFactory {
                              name, ref.getClassName(), lookupName, 
result.getClass().getName());
                      NamingException ne = new NamingException(msg);
                      log.warn(msg, ne);
+                    // Close the resource we no longer need if we know how to 
do so
+                    if (result instanceof AutoCloseable) {
+                        try {
+                            ((AutoCloseable) result).close();
+                        } catch (Exception e) {
+                            // Ignore
+                        }
+                    }
                      throw ne;
                  }
              } finally {

compile-java6:
...
[javac] /path/to/java/org/apache/naming/factory/LookupFactory.java:138: cannot find symbol
    [javac] symbol  : class AutoCloseable
    [javac] location: class org.apache.naming.factory.LookupFactory
    [javac]                     if (result instanceof AutoCloseable) {
    [javac]                                           ^
[javac] /path/to/java/org/apache/naming/factory/LookupFactory.java:140: cannot find symbol
    [javac] symbol  : class AutoCloseable
    [javac] location: class org.apache.naming.factory.LookupFactory
    [javac]                             ((AutoCloseable) result).close();
    [javac]                               ^
...
    [javac] 2 errors
...

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to