Author: markt Date: Tue Mar 6 20:56:10 2012 New Revision: 1297717 URL: http://svn.apache.org/viewvc?rev=1297717&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=52726 Clean-up. Avoid unlikely fd leak.
Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=1297717&r1=1297716&r2=1297717&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java (original) +++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Tue Mar 6 20:56:10 2012 @@ -14,11 +14,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - - package org.apache.catalina.users; - import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -35,13 +32,11 @@ import org.apache.catalina.User; import org.apache.catalina.UserDatabase; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; -import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.digester.AbstractObjectCreationFactory; import org.apache.tomcat.util.digester.Digester; import org.apache.tomcat.util.res.StringManager; import org.xml.sax.Attributes; - /** * <p>Concrete implementation of {@link UserDatabase} that loads all * defined users, groups, and roles into an in-memory data structure, @@ -51,7 +46,6 @@ import org.xml.sax.Attributes; * @version $Id$ * @since 4.1 */ - public class MemoryUserDatabase implements UserDatabase { @@ -410,7 +404,6 @@ public class MemoryUserDatabase implemen if (!file.exists()) { return; } - FileInputStream fis = new FileInputStream(file); // Construct a digester to read the XML input file Digester digester = new Digester(); @@ -432,16 +425,18 @@ public class MemoryUserDatabase implemen new MemoryUserCreationFactory(this), true); // Parse the XML input file to load this database + FileInputStream fis = null; try { + fis = new FileInputStream(file); digester.parse(fis); - fis.close(); - } catch (Exception e) { - try { - fis.close(); - } catch (Throwable t) { - ExceptionUtils.handleThrowable(t); + } finally { + if (fis != null) { + try { + fis.close(); + } catch (IOException ioe) { + // Ignore + } } - throw e; } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org