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); }
