2020-11-10 04:25:30

by Stotland, Inga

[permalink] [raw]
Subject: [PATCH BlueZ] mesh: Fix memory leak when failing to load a node

This fixes a memory leak that may occur on unsuccessful element
initialization from storage.
---
mesh/node.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/mesh/node.c b/mesh/node.c
index 11b0c9442..35293e0f0 100644
--- a/mesh/node.c
+++ b/mesh/node.c
@@ -326,16 +326,13 @@ static bool add_element_from_storage(struct mesh_node *node,

ele->idx = db_ele->index;
ele->location = db_ele->location;
-
-
- if (!ele->models)
- ele->models = l_queue_new();
+ ele->models = l_queue_new();
+ l_queue_push_tail(node->elements, ele);

if (!mesh_model_add_from_storage(node, ele->idx, ele->models,
db_ele->models))
return false;

- l_queue_push_tail(node->elements, ele);
return true;
}

--
2.26.2


2020-11-10 04:47:58

by bluez.test.bot

[permalink] [raw]
Subject: RE: [BlueZ] mesh: Fix memory leak when failing to load a node

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=380863

---Test result---

##############################
Test: CheckPatch - PASS

##############################
Test: CheckGitLint - PASS

##############################
Test: CheckBuild - PASS

##############################
Test: MakeCheck - PASS



---
Regards,
Linux Bluetooth

2020-11-10 18:27:18

by Gix, Brian

[permalink] [raw]
Subject: Re: [PATCH BlueZ] mesh: Fix memory leak when failing to load a node

Applied

On Mon, 2020-11-09 at 20:24 -0800, Inga Stotland wrote:
> This fixes a memory leak that may occur on unsuccessful element
> initialization from storage.
> ---
> mesh/node.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/mesh/node.c b/mesh/node.c
> index 11b0c9442..35293e0f0 100644
> --- a/mesh/node.c
> +++ b/mesh/node.c
> @@ -326,16 +326,13 @@ static bool add_element_from_storage(struct mesh_node *node,
>
> ele->idx = db_ele->index;
> ele->location = db_ele->location;
> -
> -
> - if (!ele->models)
> - ele->models = l_queue_new();
> + ele->models = l_queue_new();
> + l_queue_push_tail(node->elements, ele);
>
> if (!mesh_model_add_from_storage(node, ele->idx, ele->models,
> db_ele->models))
> return false;
>
> - l_queue_push_tail(node->elements, ele);
> return true;
> }
>