* [PATCH BlueZ 1/1] mesh: Fix checks when restoring internal model state
@ 2019-07-03 20:53 Inga Stotland
2019-07-04 0:16 ` Gix, Brian
0 siblings, 1 reply; 2+ messages in thread
From: Inga Stotland @ 2019-07-03 20:53 UTC (permalink / raw)
To: linux-bluetooth; +Cc: brian.gix, michal.lowas-rzechonek, Inga Stotland
This fixes incorrect conditional checks in restore_model_state()
which could lead to dereferencing a NULL pointer.
Wrong: if (l_queue_isempty(mod->bindings) || !mod->cbs->bind) ...
Fixed: if (!l_queue_isempty(mod->bindings) && cbs->bind) ...
---
mesh/model.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mesh/model.c b/mesh/model.c
index a2b3e5c18..e4a7ba94e 100644
--- a/mesh/model.c
+++ b/mesh/model.c
@@ -1077,7 +1077,7 @@ static void restore_model_state(struct mesh_model *mod)
if (!cbs)
return;
- if (l_queue_isempty(mod->bindings) || !mod->cbs->bind) {
+ if (!l_queue_isempty(mod->bindings) && cbs->bind) {
for (b = l_queue_get_entries(mod->bindings); b; b = b->next) {
if (cbs->bind(L_PTR_TO_UINT(b->data), ACTION_ADD) !=
MESH_STATUS_SUCCESS)
--
2.21.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH BlueZ 1/1] mesh: Fix checks when restoring internal model state
2019-07-03 20:53 [PATCH BlueZ 1/1] mesh: Fix checks when restoring internal model state Inga Stotland
@ 2019-07-04 0:16 ` Gix, Brian
0 siblings, 0 replies; 2+ messages in thread
From: Gix, Brian @ 2019-07-04 0:16 UTC (permalink / raw)
To: linux-bluetooth, Stotland, Inga; +Cc: michal.lowas-rzechonek
Applied
On Wed, 2019-07-03 at 13:53 -0700, Inga Stotland wrote:
> This fixes incorrect conditional checks in restore_model_state()
> which could lead to dereferencing a NULL pointer.
>
> Wrong: if (l_queue_isempty(mod->bindings) || !mod->cbs->bind) ...
> Fixed: if (!l_queue_isempty(mod->bindings) && cbs->bind) ...
> ---
> mesh/model.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mesh/model.c b/mesh/model.c
> index a2b3e5c18..e4a7ba94e 100644
> --- a/mesh/model.c
> +++ b/mesh/model.c
> @@ -1077,7 +1077,7 @@ static void restore_model_state(struct mesh_model *mod)
> if (!cbs)
> return;
>
> - if (l_queue_isempty(mod->bindings) || !mod->cbs->bind) {
> + if (!l_queue_isempty(mod->bindings) && cbs->bind) {
> for (b = l_queue_get_entries(mod->bindings); b; b = b->next) {
> if (cbs->bind(L_PTR_TO_UINT(b->data), ACTION_ADD) !=
> MESH_STATUS_SUCCESS)
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-07-04 0:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-03 20:53 [PATCH BlueZ 1/1] mesh: Fix checks when restoring internal model state Inga Stotland
2019-07-04 0:16 ` Gix, Brian
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.