Author: violetagg
Date: Wed Sep  3 18:22:14 2014
New Revision: 1622312

URL: http://svn.apache.org/r1622312
Log:
Fix some potential resource leaks when reading files and other resources. 
Reported by Coverity Scan.

Modified:
    tomcat/trunk/java/org/apache/catalina/util/CharsetMapper.java
    
tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/catalina/util/CharsetMapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/CharsetMapper.java?rev=1622312&r1=1622311&r2=1622312&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/util/CharsetMapper.java (original)
+++ tomcat/trunk/java/org/apache/catalina/util/CharsetMapper.java Wed Sep  3 
18:22:14 2014
@@ -69,11 +69,8 @@ public class CharsetMapper {
      *  resource could not be loaded for any reason.
      */
     public CharsetMapper(String name) {
-        try {
-            InputStream stream =
-              this.getClass().getResourceAsStream(name);
+        try (InputStream stream = this.getClass().getResourceAsStream(name)) {
             map.load(stream);
-            stream.close();
         } catch (Throwable t) {
             ExceptionUtils.handleThrowable(t);
             throw new IllegalArgumentException(t.toString());

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback.java?rev=1622312&r1=1622311&r2=1622312&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/FragmentJarScannerCallback.java
 Wed Sep  3 18:22:14 2014
@@ -111,15 +111,13 @@ public class FragmentJarScannerCallback 
     @Override
     public void scan(File file, String webappPath, boolean isWebapp) throws 
IOException {
 
-        InputStream stream = null;
         WebXml fragment = new WebXml();
         fragment.setWebappJar(isWebapp);
         fragment.setDelegate(delegate);
 
-        try {
-            File fragmentFile = new File(file, FRAGMENT_LOCATION);
+        File fragmentFile = new File(file, FRAGMENT_LOCATION);
+        try (InputStream stream = new FileInputStream(fragmentFile)) {
             if (fragmentFile.isFile()) {
-                stream = new FileInputStream(fragmentFile);
                 InputSource source =
                     new InputSource(fragmentFile.toURI().toURL().toString());
                 source.setByteStream(stream);

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1622312&r1=1622311&r2=1622312&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed Sep  3 18:22:14 2014
@@ -99,8 +99,8 @@
         extension dependencies reported by Coverity Scan. (violetagg)
       </fix>
       <fix>
-        Fix some potential resource leaks when reading property files. Reported
-        by Coverity Scan. (violetagg)
+        Fix some potential resource leaks when reading properties, files and
+        other resources. Reported by Coverity Scan. (violetagg)
       </fix>
     </changelog>
   </subsection>



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

Reply via email to