8038431: Close InputStream when finished retrieving XML Signature HTTP References

Reviewed-by: xuelei
This commit is contained in:
Sean Mullan 2014-04-08 11:57:57 -04:00
parent f4f394efb5
commit fa633bad05

View File

@ -108,6 +108,7 @@ public class ResolverDirectHTTP extends ResourceResolverSpi {
@Override
public XMLSignatureInput engineResolveURI(ResourceResolverContext context)
throws ResourceResolverException {
InputStream inputStream = null;
try {
// calculate new URI
@ -139,7 +140,7 @@ public class ResolverDirectHTTP extends ResourceResolverSpi {
}
String mimeType = urlConnection.getHeaderField("Content-Type");
InputStream inputStream = urlConnection.getInputStream();
inputStream = urlConnection.getInputStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte buf[] = new byte[4096];
int read = 0;
@ -168,6 +169,16 @@ public class ResolverDirectHTTP extends ResourceResolverSpi {
throw new ResourceResolverException("generic.EmptyMessage", ex, context.attr, context.baseUri);
} catch (IllegalArgumentException e) {
throw new ResourceResolverException("generic.EmptyMessage", e, context.attr, context.baseUri);
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
if (log.isLoggable(java.util.logging.Level.FINE)) {
log.log(java.util.logging.Level.FINE, e.getMessage(), e);
}
}
}
}
}