You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2018/05/04 13:29:15 UTC

svn commit: r1830917 - /myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletFactory.java

Author: tandraschko
Date: Fri May  4 13:29:14 2018
New Revision: 1830917

URL: http://svn.apache.org/viewvc?rev=1830917&view=rev
Log:
MYFACES-4228 File Descriptor leak in DefaultFaceletFactory

Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletFactory.java

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletFactory.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletFactory.java?rev=1830917&r1=1830916&r2=1830917&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletFactory.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/impl/DefaultFaceletFactory.java Fri May  4 13:29:14 2018
@@ -341,9 +341,10 @@ public final class DefaultFaceletFactory
         {
             // Should check for file modification
 
+            URLConnection conn = null;
             try
             {
-                URLConnection conn = facelet.getSource().openConnection();
+                conn = facelet.getSource().openConnection();
                 long lastModified = ResourceLoaderUtils.getResourceLastModified(conn);
 
                 return lastModified == 0 || lastModified > target;
@@ -352,6 +353,20 @@ public final class DefaultFaceletFactory
             {
                 throw new FaceletException("Error Checking Last Modified for " + facelet.getAlias(), e);
             }
+            finally
+            {
+                if (conn != null)
+                {
+                    try
+                    {
+                        conn.getInputStream().close();
+                    }
+                    catch (Exception e)
+                    {
+                        // Ignored
+                    }
+                }
+            }
         }
 
         return false;