# HG changeset patch # User andrew # Date 1352322474 18000 # Node ID 4615017b9cabe88c8320df92974d722189e6bfe1 # Parent 449750ac61735dd73fd59a12eb04345c1144f3b7 8003120: ResourceManager.getApplicationResources() does not close InputStreams Summary: Add finally blocks to close the InputStream instances Reviewed-by: lancea diff -r 449750ac6173 -r 4615017b9cab jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java --- a/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java Wed Nov 07 18:48:48 2012 +0000 +++ b/jdk/src/share/classes/com/sun/naming/internal/ResourceManager.java Wed Nov 07 16:07:54 2012 -0500 @@ -542,14 +542,26 @@ try { NamingEnumeration resources = helper.getResources(cl, APP_RESOURCE_FILE_NAME); - while (resources.hasMore()) { - Properties props = new Properties(); - props.load(resources.next()); + try { + while (resources.hasMore()) { + Properties props = new Properties(); + InputStream istream = resources.next(); + try { + props.load(istream); + } finally { + istream.close(); + } - if (result == null) { - result = props; - } else { - mergeTables(result, props); + if (result == null) { + result = props; + } else { + mergeTables(result, props); + } + } + } finally { + while (resources.hasMore()) { + InputStream istream = (InputStream)resources.next(); + istream.close(); } } @@ -557,13 +569,17 @@ InputStream istream = helper.getJavaHomeLibStream(JRELIB_PROPERTY_FILE_NAME); if (istream != null) { - Properties props = new Properties(); - props.load(istream); + try { + Properties props = new Properties(); + props.load(istream); - if (result == null) { - result = props; - } else { - mergeTables(result, props); + if (result == null) { + result = props; + } else { + mergeTables(result, props); + } + } finally { + istream.close(); } }