From: Dongwoo Lee Date: Thu, 7 Mar 2024 06:41:29 +0000 (+0900) Subject: lib: resource-monitor: Fix missing mutual exclusion X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5371bf85627666eb0e5d213f532515dd2b5a151b;p=platform%2Fcore%2Fsystem%2Fpass.git lib: resource-monitor: Fix missing mutual exclusion Since find_client_by_id() walks g_pass_resource_monitor_client_head list which is prevented by critical section, it should be mutually exclusive, thus mutex lock/unlock is added to former/later of loop. Change-Id: I6ea2dad42ff9dd08dec331db7ea4c9de550da618 Signed-off-by: Dongwoo Lee --- diff --git a/lib/resource-monitor/resource-monitor.c b/lib/resource-monitor/resource-monitor.c index 75bff22..89d2d24 100644 --- a/lib/resource-monitor/resource-monitor.c +++ b/lib/resource-monitor/resource-monitor.c @@ -89,6 +89,7 @@ static struct pass_resource_monitor_client *find_client_by_id(int id) struct pass_resource_monitor_client *client; GList *node; + g_mutex_lock(&g_mutex); for (node = g_pass_resource_monitor_client_head; node != NULL; node = node->next) { @@ -96,6 +97,7 @@ static struct pass_resource_monitor_client *find_client_by_id(int id) if (client->id == id) return client; } + g_mutex_unlock(&g_mutex); return NULL; }