Diff between b4233bca181580800b483a228ca5377efcfeb844 and 5eb96b3ec8545047a74d7204664267c7aa749070

Changed Files

File Additions Deletions Status
mesh/appkey.c +6 -2 modified

Full Patch

diff --git a/mesh/appkey.c b/mesh/appkey.c
index 5088a18..52fed8c 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);