Blame SOURCES/0002-mesh-appkey-Fix-memory-leaks.patch

67d7dc
From 5eb96b3ec8545047a74d7204664267c7aa749070 Mon Sep 17 00:00:00 2001
67d7dc
From: Gopal Tiwari <gtiwari@redhat.com>
67d7dc
Date: Tue, 31 May 2022 13:11:06 +0530
67d7dc
Subject: [PATCH BlueZ 02/12] mesh/appkey: Fix memory leaks
67d7dc
67d7dc
While performing the static analysis using the coverity tool found
67d7dc
following memory leak reports
67d7dc
67d7dc
bluez-5.64/mesh/appkey.c:143: leaked_storage: Variable "key" going
67d7dc
out of scope leaks the storage it points to.
67d7dc
67d7dc
Error: RESOURCE_LEAK (CWE-772):
67d7dc
bluez-5.64/mesh/appkey.c:146: leaked_storage: Variable "key" going
67d7dc
out of scope leaks the storage it points to.
67d7dc
---
67d7dc
 mesh/appkey.c | 8 ++++++--
67d7dc
 1 file changed, 6 insertions(+), 2 deletions(-)
67d7dc
67d7dc
diff --git a/mesh/appkey.c b/mesh/appkey.c
67d7dc
index 5088a1812..52fed8c31 100644
67d7dc
--- a/mesh/appkey.c
67d7dc
+++ b/mesh/appkey.c
67d7dc
@@ -139,11 +139,15 @@ bool appkey_key_init(struct mesh_net *net, uint16_t net_idx, uint16_t app_idx,
67d7dc
 	key->net_idx = net_idx;
67d7dc
 	key->app_idx = app_idx;
67d7dc
 
67d7dc
-	if (key_value && !set_key(key, app_idx, key_value, false))
67d7dc
+	if (key_value && !set_key(key, app_idx, key_value, false)) {
67d7dc
+		appkey_key_free(key);
67d7dc
 		return false;
67d7dc
+	}
67d7dc
 
67d7dc
-	if (new_key_value && !set_key(key, app_idx, new_key_value, true))
67d7dc
+	if (new_key_value && !set_key(key, app_idx, new_key_value, true)) {
67d7dc
+		appkey_key_free(key);
67d7dc
 		return false;
67d7dc
+	}
67d7dc
 
67d7dc
 	l_queue_push_tail(app_keys, key);
67d7dc
 
67d7dc
-- 
67d7dc
2.26.2
67d7dc