Mercurial > hg > openjdk > jdk8 > jdk
changeset 6094:f51943263267
8003120: ResourceManager.getApplicationResources() does not close InputStreams
Summary: Add finally blocks to close the InputStream instances
Reviewed-by: lancea
author | andrew |
---|---|
date | Wed, 07 Nov 2012 16:07:54 -0500 |
parents | 7d50ff0e2d44 |
children | cc325832469c |
files | src/share/classes/com/sun/naming/internal/ResourceManager.java |
diffstat | 1 files changed, 29 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/share/classes/com/sun/naming/internal/ResourceManager.java Wed Nov 07 18:48:48 2012 +0000 +++ b/src/share/classes/com/sun/naming/internal/ResourceManager.java Wed Nov 07 16:07:54 2012 -0500 @@ -542,14 +542,26 @@ try { NamingEnumeration<InputStream> 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(); } }