2019-11-18 10:54:14

by Michał Lowas-Rzechonek

[permalink] [raw]
Subject: [PATCH BlueZ] mesh: Fix crash after deleting all subscriptions

From: Rafał Gajda <[email protected]>

---
mesh/model.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/mesh/model.c b/mesh/model.c
index a06b684a5..40c5e6b18 100644
--- a/mesh/model.c
+++ b/mesh/model.c
@@ -1426,9 +1426,8 @@ int mesh_model_sub_del_all(struct mesh_node *node, uint16_t addr, uint32_t id)
for (; entry; entry = entry->next)
mesh_net_dst_unreg(net, (uint16_t) L_PTR_TO_UINT(entry->data));

- l_queue_destroy(mod->subs, NULL);
- l_queue_destroy(mod->virtuals, unref_virt);
- mod->virtuals = l_queue_new();
+ l_queue_clear(mod->subs, NULL);
+ l_queue_clear(mod->virtuals, unref_virt);

return MESH_STATUS_SUCCESS;
}
--
2.19.1


2019-11-19 23:54:02

by Gix, Brian

[permalink] [raw]
Subject: Re: [PATCH BlueZ] mesh: Fix crash after deleting all subscriptions

Applied, thanks

On Mon, 2019-11-18 at 11:51 +0100, Michał Lowas-Rzechonek wrote:
> From: Rafał Gajda <[email protected]>
>
> ---
> mesh/model.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/mesh/model.c b/mesh/model.c
> index a06b684a5..40c5e6b18 100644
> --- a/mesh/model.c
> +++ b/mesh/model.c
> @@ -1426,9 +1426,8 @@ int mesh_model_sub_del_all(struct mesh_node *node, uint16_t addr, uint32_t id)
> for (; entry; entry = entry->next)
> mesh_net_dst_unreg(net, (uint16_t) L_PTR_TO_UINT(entry->data));
>
> - l_queue_destroy(mod->subs, NULL);
> - l_queue_destroy(mod->virtuals, unref_virt);
> - mod->virtuals = l_queue_new();
> + l_queue_clear(mod->subs, NULL);
> + l_queue_clear(mod->virtuals, unref_virt);
>
> return MESH_STATUS_SUCCESS;
> }