This is an automated email from the ASF dual-hosted git repository.

jai1 pushed a commit to branch branch-1.22
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/branch-1.22 by this push:
     new c9a3699  Fixing resource leak due to open file descriptors in 
SecurityUtility.java (#1851)
c9a3699 is described below

commit c9a369936af3b3ecc663b86ae959a3fbfa627aca
Author: Jai Asher <[email protected]>
AuthorDate: Mon May 28 17:02:06 2018 -0700

    Fixing resource leak due to open file descriptors in SecurityUtility.java 
(#1851)
---
 .../org/apache/pulsar/common/util/SecurityUtility.java   | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git 
a/pulsar-common/src/main/java/org/apache/pulsar/common/util/SecurityUtility.java
 
b/pulsar-common/src/main/java/org/apache/pulsar/common/util/SecurityUtility.java
index e9106f6..7121149 100644
--- 
a/pulsar-common/src/main/java/org/apache/pulsar/common/util/SecurityUtility.java
+++ 
b/pulsar-common/src/main/java/org/apache/pulsar/common/util/SecurityUtility.java
@@ -58,7 +58,7 @@ public class SecurityUtility {
     }
 
     public static SslContext createNettySslContextForClient(boolean 
allowInsecureConnection, String trustCertsFilePath)
-            throws GeneralSecurityException, SSLException, 
FileNotFoundException {
+            throws IOException, GeneralSecurityException, SSLException, 
FileNotFoundException {
         return createNettySslContextForClient(allowInsecureConnection, 
trustCertsFilePath, (Certificate[]) null,
                 (PrivateKey) null);
     }
@@ -73,7 +73,7 @@ public class SecurityUtility {
 
     public static SslContext createNettySslContextForClient(boolean 
allowInsecureConnection, String trustCertsFilePath,
             String certFilePath, String keyFilePath)
-            throws GeneralSecurityException, SSLException, 
FileNotFoundException {
+            throws IOException, GeneralSecurityException, SSLException, 
FileNotFoundException {
         X509Certificate[] certificates = 
loadCertificatesFromPemFile(certFilePath);
         PrivateKey privateKey = loadPrivateKeyFromPemFile(keyFilePath);
         return createNettySslContextForClient(allowInsecureConnection, 
trustCertsFilePath, certificates, privateKey);
@@ -81,13 +81,15 @@ public class SecurityUtility {
 
     public static SslContext createNettySslContextForClient(boolean 
allowInsecureConnection, String trustCertsFilePath,
             Certificate[] certificates, PrivateKey privateKey)
-            throws GeneralSecurityException, SSLException, 
FileNotFoundException {
+            throws GeneralSecurityException, IOException, 
FileNotFoundException {
         SslContextBuilder builder = SslContextBuilder.forClient();
         if (allowInsecureConnection) {
             builder.trustManager(InsecureTrustManagerFactory.INSTANCE);
         } else {
             if (trustCertsFilePath != null && trustCertsFilePath.length() != 
0) {
-                builder.trustManager(new FileInputStream(trustCertsFilePath));
+                try (FileInputStream input = new 
FileInputStream(trustCertsFilePath)) {
+                    builder.trustManager(input);
+                }
             }
         }
         builder.keyManager(privateKey, (X509Certificate[]) certificates);
@@ -96,7 +98,7 @@ public class SecurityUtility {
 
     public static SslContext createNettySslContextForServer(boolean 
allowInsecureConnection, String trustCertsFilePath,
             String certFilePath, String keyFilePath)
-            throws GeneralSecurityException, SSLException, 
FileNotFoundException {
+            throws IOException, GeneralSecurityException, SSLException, 
FileNotFoundException {
         X509Certificate[] certificates = 
loadCertificatesFromPemFile(certFilePath);
         PrivateKey privateKey = loadPrivateKeyFromPemFile(keyFilePath);
 
@@ -105,7 +107,9 @@ public class SecurityUtility {
             builder.trustManager(InsecureTrustManagerFactory.INSTANCE);
         } else {
             if (trustCertsFilePath != null && trustCertsFilePath.length() != 
0) {
-                builder.trustManager(new FileInputStream(trustCertsFilePath));
+                try (FileInputStream input = new 
FileInputStream(trustCertsFilePath)) {
+                    builder.trustManager(input);
+                }
             } else {
                 builder.trustManager((File) null);
             }

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to