From 549cd0e955dfeff366446697a63c17f1e96d962e Mon Sep 17 00:00:00 2001 From: Inga Stotland Date: Thu, 21 May 2020 17:34:53 -0700 Subject: [PATCH] mesh: Free allocated agent in mesh_remove_agent() This adds previously missing call to free memory allocated for agent structure. Change-Id: Ibdb5336c5dfd52ad16b2718efea54692be76c72c Signed-off-by: Abhay Agarwal --- mesh/agent.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/mesh/agent.c b/mesh/agent.c index a06cc2b..4d20041 100644 --- a/mesh/agent.c +++ b/mesh/agent.c @@ -188,9 +188,6 @@ static void agent_free(void *agent_data) mesh_agent_key_cb_t key_cb; mesh_agent_number_cb_t number_cb; - if (!l_queue_find(agents, simple_match, agent)) - return; - err = MESH_ERROR_DOES_NOT_EXIST; if (agent->req && agent->req->cb) { @@ -228,15 +225,16 @@ static void agent_free(void *agent_data) l_free(agent->path); l_free(agent->owner); + l_free(agent); } void mesh_agent_remove(struct mesh_agent *agent) { - if (!agent || !l_queue_find(agents, simple_match, agent)) + if (!agent) return; - agent_free(agent); - l_queue_remove(agents, agent); + if (l_queue_remove(agents, agent)) + agent_free(agent); } void mesh_agent_cleanup(void) -- 2.7.4