From aa6063aa66954ac8321211145d1ae6b434b2555c Mon Sep 17 00:00:00 2001 From: Roman Smirnov Date: Tue, 9 Jul 2024 17:35:00 +0300 Subject: [PATCH] health: mcap: add checks for NULL mcap_notify_error() It is necessary to prevent dereferencing of NULL pointers. Found with the SVACE static analysis tool. --- profiles/health/mcap.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/profiles/health/mcap.c b/profiles/health/mcap.c index 7eceaa88a..2e4214a69 100644 --- a/profiles/health/mcap.c +++ b/profiles/health/mcap.c @@ -336,6 +336,9 @@ static void mcap_notify_error(struct mcap_mcl *mcl, GError *err) case MCAP_MD_CREATE_MDL_REQ: st = MDL_WAITING; l = g_slist_find_custom(mcl->mdls, &st, cmp_mdl_state); + if (!l) + return; + mdl = l->data; mcl->mdls = g_slist_remove(mcl->mdls, mdl); mcap_mdl_unref(mdl); @@ -345,6 +348,9 @@ static void mcap_notify_error(struct mcap_mcl *mcl, GError *err) case MCAP_MD_ABORT_MDL_REQ: st = MDL_WAITING; l = g_slist_find_custom(mcl->mdls, &st, cmp_mdl_state); + if (!l) + return; + shutdown_mdl(l->data); update_mcl_state(mcl); con->cb.notify(err, con->user_data); @@ -362,6 +368,9 @@ static void mcap_notify_error(struct mcap_mcl *mcl, GError *err) case MCAP_MD_RECONNECT_MDL_REQ: st = MDL_WAITING; l = g_slist_find_custom(mcl->mdls, &st, cmp_mdl_state); + if (!l) + return; + shutdown_mdl(l->data); update_mcl_state(mcl); con->cb.op(NULL, err, con->user_data); -- 2.47.3