From 03b076cd1bc7c0c4bac23c7741f884878f4a708a Mon Sep 17 00:00:00 2001 From: Daan Hoogland Date: Fri, 17 Jul 2015 11:32:44 +0200 Subject: [PATCH] coverity 1116668: conditionally close ds provided connection Signed-off-by: Daan Hoogland This closes #599 --- framework/db/src/com/cloud/utils/db/Merovingian2.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/framework/db/src/com/cloud/utils/db/Merovingian2.java b/framework/db/src/com/cloud/utils/db/Merovingian2.java index 0c76fb5886d..fe0b24d4dd9 100644 --- a/framework/db/src/com/cloud/utils/db/Merovingian2.java +++ b/framework/db/src/com/cloud/utils/db/Merovingian2.java @@ -71,7 +71,15 @@ public class Merovingian2 extends StandardMBean implements MerovingianMBean { _concierge = new ConnectionConcierge("LockMaster", conn, true); } catch (SQLException e) { s_logger.error("Unable to get a new db connection", e); - throw new CloudRuntimeException("Unable to initialize a connection to the database for locking purposes: ", e); + throw new CloudRuntimeException("Unable to initialize a connection to the database for locking purposes", e); + } finally { + if (_concierge == null && conn != null) { + try { + conn.close(); + } catch (SQLException e) { + s_logger.debug("closing connection failed after everything else.", e); + } + } } }