diff mbox series

[BlueZ] mesh: Fix memory leak when failing to load a node

Message ID 20201110042451.71288-1-inga.stotland@intel.com (mailing list archive)
State New, archived
Headers show
Series [BlueZ] mesh: Fix memory leak when failing to load a node | expand

Commit Message

Stotland, Inga Nov. 10, 2020, 4:24 a.m. UTC
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(-)

Comments

bluez.test.bot@gmail.com Nov. 10, 2020, 4:47 a.m. UTC | #1
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
Brian Gix Nov. 10, 2020, 6:25 p.m. UTC | #2
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;
>  }
>
diff mbox series

Patch

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;
 }