提交 c0de421c 编写于 作者: X xuelei

7059709: close the IO in a final block

Reviewed-by: smarks, mullan, wetmore
上级 01983949
......@@ -567,7 +567,11 @@ public abstract class SSLContextImpl extends SSLContextSpi {
}
FileInputStream fs = null;
if (defaultKeyStore.length() != 0 && !NONE.equals(defaultKeyStore)) {
KeyStore ks = null;
char[] passwd = null;
try {
if (defaultKeyStore.length() != 0 &&
!NONE.equals(defaultKeyStore)) {
fs = AccessController.doPrivileged(
new PrivilegedExceptionAction<FileInputStream>() {
public FileInputStream run() throws Exception {
......@@ -577,7 +581,6 @@ public abstract class SSLContextImpl extends SSLContextSpi {
}
String defaultKeyStorePassword = props.get("keyStorePasswd");
char[] passwd = null;
if (defaultKeyStorePassword.length() != 0) {
passwd = defaultKeyStorePassword.toCharArray();
}
......@@ -585,7 +588,6 @@ public abstract class SSLContextImpl extends SSLContextSpi {
/**
* Try to initialize key store.
*/
KeyStore ks = null;
if ((defaultKeyStoreType.length()) != 0) {
if (debug != null && Debug.isOn("defaultctx")) {
System.out.println("init keystore");
......@@ -600,10 +602,12 @@ public abstract class SSLContextImpl extends SSLContextSpi {
// if defaultKeyStore is NONE, fs will be null
ks.load(fs, passwd);
}
} finally {
if (fs != null) {
fs.close();
fs = null;
}
}
/*
* Try to initialize key manager.
......
......@@ -164,6 +164,7 @@ abstract class TrustManagerFactoryImpl extends TrustManagerFactorySpi {
* If none exists, we use an empty keystore.
*/
try {
storeFileName = props.get("trustStore");
if (!"NONE".equals(storeFileName)) {
if (storeFileName != null) {
......@@ -213,7 +214,8 @@ abstract class TrustManagerFactoryImpl extends TrustManagerFactorySpi {
defaultTrustStoreProvider);
}
char[] passwd = null;
String defaultTrustStorePassword = props.get("trustStorePasswd");
String defaultTrustStorePassword =
props.get("trustStorePasswd");
if (defaultTrustStorePassword.length() != 0)
passwd = defaultTrustStorePassword.toCharArray();
......@@ -227,10 +229,11 @@ abstract class TrustManagerFactoryImpl extends TrustManagerFactorySpi {
}
}
}
} finally {
if (fis != null) {
fis.close();
}
}
return ks;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册