From 793462e5fa40dc73ce30658fe6a27e4284ed9cdb Mon Sep 17 00:00:00 2001 From: Rajani Karuturi Date: Tue, 3 Jun 2014 16:11:01 +0530 Subject: [PATCH] Fixed Resource leak (RESOURCE_LEAK) 11. overwrite_var: Overwriting "pstmt" in "pstmt = conn.prepareStatement("INSERT INTO `cloud`.`ldap_configuration`(hostname, port) VALUES(?,?)")" leaks the resource that "pstmt" refers to. Signed-off-by: Koushik Das --- .../schema/src/com/cloud/upgrade/dao/Upgrade421to430.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/engine/schema/src/com/cloud/upgrade/dao/Upgrade421to430.java b/engine/schema/src/com/cloud/upgrade/dao/Upgrade421to430.java index 7e26132d9e0..889cad457af 100644 --- a/engine/schema/src/com/cloud/upgrade/dao/Upgrade421to430.java +++ b/engine/schema/src/com/cloud/upgrade/dao/Upgrade421to430.java @@ -130,18 +130,20 @@ public class Upgrade421to430 implements DbUpgrade { try { + pstmt = conn.prepareStatement(insertSql); for (String[] ldapParam : ldapParams) { String name = ldapParam[0]; String value = ldapParam[1]; String desc = ldapParam[2]; String encryptedValue = DBEncryptionUtil.encrypt(value); - pstmt = conn.prepareStatement(insertSql); pstmt.setString(1, name); pstmt.setBytes(2, encryptedValue.getBytes("UTF-8")); pstmt.setString(3, desc); pstmt.executeUpdate(); } + pstmt.close(); + /** * if encrypted, decrypt the ldap hostname and port and then update as they are not encrypted now. */ @@ -154,6 +156,8 @@ public class Upgrade421to430 implements DbUpgrade { hostname = DBEncryptionUtil.decrypt(resultSet.getString(1)); } + pstmt.close(); + pstmt = conn.prepareStatement("SELECT conf.value FROM `cloud`.`configuration` conf WHERE conf.name='ldap.port'"); resultSet = pstmt.executeQuery(); if (resultSet.next()) { @@ -162,6 +166,7 @@ public class Upgrade421to430 implements DbUpgrade { portNumber = Integer.valueOf(port); } } + pstmt.close(); if (StringUtils.isNotBlank(hostname)) { pstmt = conn.prepareStatement("INSERT INTO `cloud`.`ldap_configuration`(hostname, port) VALUES(?,?)"); @@ -172,6 +177,7 @@ public class Upgrade421to430 implements DbUpgrade { pstmt.setNull(2, Types.INTEGER); } pstmt.executeUpdate(); + pstmt.close(); } } catch (SQLException e) {