You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by tk...@apache.org on 2015/11/09 05:27:18 UTC

[44/50] [abbrv] nifi git commit: NIFI-1073 fixed resource leak in SSLContextFactory

NIFI-1073 fixed resource leak in SSLContextFactory


Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/47b93d45
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/47b93d45
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/47b93d45

Branch: refs/heads/NIFI-1073
Commit: 47b93d45cb32e3d7655734538e07d02cb924cd24
Parents: 440e4c4
Author: Tony Kurc <tr...@gmail.com>
Authored: Mon Oct 26 19:41:26 2015 -0400
Committer: Tony Kurc <tr...@gmail.com>
Committed: Sun Nov 8 21:11:33 2015 -0500

----------------------------------------------------------------------
 .../org/apache/nifi/io/socket/SSLContextFactory.java | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/47b93d45/nifi-commons/nifi-socket-utils/src/main/java/org/apache/nifi/io/socket/SSLContextFactory.java
----------------------------------------------------------------------
diff --git a/nifi-commons/nifi-socket-utils/src/main/java/org/apache/nifi/io/socket/SSLContextFactory.java b/nifi-commons/nifi-socket-utils/src/main/java/org/apache/nifi/io/socket/SSLContextFactory.java
index 9c6cb82..eeaa299 100644
--- a/nifi-commons/nifi-socket-utils/src/main/java/org/apache/nifi/io/socket/SSLContextFactory.java
+++ b/nifi-commons/nifi-socket-utils/src/main/java/org/apache/nifi/io/socket/SSLContextFactory.java
@@ -34,6 +34,7 @@ import javax.net.ssl.TrustManager;
 import javax.net.ssl.TrustManagerFactory;
 
 import org.apache.nifi.util.NiFiProperties;
+import org.apache.nifi.util.file.FileUtils;
 
 public class SSLContextFactory {
 
@@ -58,13 +59,23 @@ public class SSLContextFactory {
 
         // prepare the keystore
         final KeyStore keyStore = KeyStore.getInstance(keystoreType);
-        keyStore.load(new FileInputStream(keystore), keystorePass);
+        final FileInputStream keyStoreStream = new FileInputStream(keystore);
+        try{
+            keyStore.load(keyStoreStream, keystorePass);
+        } finally{
+            FileUtils.closeQuietly(keyStoreStream);
+        }
         final KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
         keyManagerFactory.init(keyStore, keystorePass);
 
         // prepare the truststore
         final KeyStore trustStore = KeyStore.getInstance(truststoreType);
-        trustStore.load(new FileInputStream(truststore), truststorePass);
+        final FileInputStream trustStoreStream = new FileInputStream(truststore);
+        try{
+            trustStore.load(trustStoreStream, truststorePass);
+        } finally{
+            FileUtils.closeQuietly(trustStoreStream);
+        }
         final TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
         trustManagerFactory.init(trustStore);