coverity 1125362, 1125363: assorted resource leaks

Signed-off-by: Daan Hoogland <[email protected]>

This closes #602


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/22f194b8
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/22f194b8
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/22f194b8

Branch: refs/heads/master
Commit: 22f194b8888ab1464399b8328e58e7291619c13f
Parents: 3a4d371
Author: Daan Hoogland <[email protected]>
Authored: Fri Jul 17 16:24:13 2015 +0200
Committer: Daan Hoogland <[email protected]>
Committed: Mon Jul 27 14:43:11 2015 +0200

----------------------------------------------------------------------
 .../utils/crypt/EncryptionSecretKeyChecker.java | 42 ++++++++------------
 1 file changed, 16 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/22f194b8/utils/src/com/cloud/utils/crypt/EncryptionSecretKeyChecker.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/crypt/EncryptionSecretKeyChecker.java 
b/utils/src/com/cloud/utils/crypt/EncryptionSecretKeyChecker.java
index b28b067..6524987 100644
--- a/utils/src/com/cloud/utils/crypt/EncryptionSecretKeyChecker.java
+++ b/utils/src/com/cloud/utils/crypt/EncryptionSecretKeyChecker.java
@@ -30,7 +30,6 @@ import java.util.Properties;
 
 import javax.annotation.PostConstruct;
 
-import org.apache.commons.io.IOUtils;
 import org.apache.log4j.Logger;
 import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
 import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
@@ -83,15 +82,12 @@ public class EncryptionSecretKeyChecker {
             if(is == null) {  //This is means we are not able to load key file 
from the classpath.
               throw new CloudRuntimeException(s_keyFile + " File containing 
secret key not found in the classpath: ");
             }
-            BufferedReader in = null;
-            try {
-                in = new BufferedReader(new InputStreamReader(is));
+
+            try (BufferedReader in = new BufferedReader(new 
InputStreamReader(is));) {
                 secretKey = in.readLine();
                 //Check for null or empty secret key
             } catch (IOException e) {
                 throw new CloudRuntimeException("Error while reading secret 
key from: " + s_keyFile, e);
-            } finally {
-                IOUtils.closeQuietly(in);
             }
 
             if (secretKey == null || secretKey.isEmpty()) {
@@ -104,30 +100,24 @@ public class EncryptionSecretKeyChecker {
                 throw new CloudRuntimeException("Environment variable " + 
s_envKey + " is not set or empty");
             }
         } else if (encryptionType.equals("web")) {
-            ServerSocket serverSocket = null;
             int port = 8097;
-            try {
-                serverSocket = new ServerSocket(port);
+            try (ServerSocket serverSocket = new ServerSocket(port);) {
+                s_logger.info("Waiting for admin to send secret key on port " 
+ port);
+                try (
+                        Socket clientSocket = serverSocket.accept();
+                        PrintWriter out = new 
PrintWriter(clientSocket.getOutputStream(), true);
+                        BufferedReader in = new BufferedReader(new 
InputStreamReader(clientSocket.getInputStream()));
+                    ) {
+                    String inputLine;
+                    if ((inputLine = in.readLine()) != null) {
+                        secretKey = inputLine;
+                    }
+                } catch (IOException e) {
+                    throw new CloudRuntimeException("Accept failed on " + 
port);
+                }
             } catch (IOException ioex) {
                 throw new CloudRuntimeException("Error initializing secret key 
reciever", ioex);
             }
-            s_logger.info("Waiting for admin to send secret key on port " + 
port);
-            Socket clientSocket = null;
-            try {
-                clientSocket = serverSocket.accept();
-            } catch (IOException e) {
-                throw new CloudRuntimeException("Accept failed on " + port);
-            }
-            PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), 
true);
-            BufferedReader in = new BufferedReader(new 
InputStreamReader(clientSocket.getInputStream()));
-            String inputLine;
-            if ((inputLine = in.readLine()) != null) {
-                secretKey = inputLine;
-            }
-            out.close();
-            in.close();
-            clientSocket.close();
-            serverSocket.close();
         } else {
             throw new CloudRuntimeException("Invalid encryption type: " + 
encryptionType);
         }

Reply via email to