summaryrefslogtreecommitdiff
path: root/mesh
diff options
context:
space:
mode:
authorGopal Tiwari <gtiwari@redhat.com>2022-05-31 13:11:06 +0530
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2022-05-31 12:49:29 -0700
commit5eb96b3ec8545047a74d7204664267c7aa749070 (patch)
treeacfd3f207eb4b8f568cf06fceb180500062004b9 /mesh
parentb4233bca181580800b483a228ca5377efcfeb844 (diff)
downloadbluez-5eb96b3ec8545047a74d7204664267c7aa749070.tar.gz
mesh/appkey: Fix memory leaks
While performing the static analysis using the coverity tool found following memory leak reports bluez-5.64/mesh/appkey.c:143: leaked_storage: Variable "key" going out of scope leaks the storage it points to. Error: RESOURCE_LEAK (CWE-772): bluez-5.64/mesh/appkey.c:146: leaked_storage: Variable "key" going out of scope leaks the storage it points to.
Diffstat (limited to 'mesh')
-rw-r--r--mesh/appkey.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/mesh/appkey.c b/mesh/appkey.c
index 5088a1812..52fed8c31 100644
--- a/mesh/appkey.c
+++ b/mesh/appkey.c
@@ -139,11 +139,15 @@ bool appkey_key_init(struct mesh_net *net, uint16_t net_idx, uint16_t app_idx,
key->net_idx = net_idx;
key->app_idx = app_idx;
- if (key_value && !set_key(key, app_idx, key_value, false))
+ if (key_value && !set_key(key, app_idx, key_value, false)) {
+ appkey_key_free(key);
return false;
+ }
- if (new_key_value && !set_key(key, app_idx, new_key_value, true))
+ if (new_key_value && !set_key(key, app_idx, new_key_value, true)) {
+ appkey_key_free(key);
return false;
+ }
l_queue_push_tail(app_keys, key);