From 92a67d4d9c9273c21aa5a3b3b0268f785c1e66cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Czern=C3=BD?= Date: Tue, 4 Feb 2020 13:31:39 +0100 Subject: [PATCH] B #4153: Fix memory leaks (#4155) Fix minor oned leak and scheduler leaks --- src/scheduler/include/VirtualMachineXML.h | 5 +++++ src/scheduler/src/pool/VirtualMachineXML.cc | 1 + src/vm/VirtualMachinePool.cc | 6 +++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/scheduler/include/VirtualMachineXML.h b/src/scheduler/include/VirtualMachineXML.h index 1134bbf2c5..cd03c8fd1a 100644 --- a/src/scheduler/include/VirtualMachineXML.h +++ b/src/scheduler/include/VirtualMachineXML.h @@ -130,6 +130,11 @@ public: { delete user_template; } + + for (auto nic : nics) + { + delete nic.second; + } } //-------------------------------------------------------------------------- diff --git a/src/scheduler/src/pool/VirtualMachineXML.cc b/src/scheduler/src/pool/VirtualMachineXML.cc index d0610e81d9..34b947d363 100644 --- a/src/scheduler/src/pool/VirtualMachineXML.cc +++ b/src/scheduler/src/pool/VirtualMachineXML.cc @@ -161,6 +161,7 @@ void VirtualMachineXML::init_attributes() if ( !rc || net_mode != "AUTO" ) { + delete nic_template; continue; } diff --git a/src/vm/VirtualMachinePool.cc b/src/vm/VirtualMachinePool.cc index 90d28479db..826e1cb836 100644 --- a/src/vm/VirtualMachinePool.cc +++ b/src/vm/VirtualMachinePool.cc @@ -416,17 +416,21 @@ int VirtualMachinePool::get_vmid (const string& deploy_id) int vmid = -1; ostringstream oss; + auto sql_id = db->escape_str(deploy_id); + single_cb cb; cb.set_callback(&vmid); oss << "SELECT vmid FROM " << import_table - << " WHERE deploy_id = '" << db->escape_str(deploy_id) << "'"; + << " WHERE deploy_id = '" << sql_id << "'"; rc = db->exec_rd(oss, &cb); cb.unset_callback(); + db->free_str(sql_id); + if (rc != 0 ) { return -1;