From b3c4a8f59d5a7d235fc5a4e447f2f8351718df9d Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Thu, 22 Jul 2021 14:42:32 +0200 Subject: [PATCH] BUILD: threads: fix pthread_mutex_unlock when !USE_THREAD Commit 048368ef6 ("MINOR: deinit: always deinit the init_mutex on failed initialization") added the missing unlock but forgot to condition it on USE_THREAD, resulting in a build failure. No backport is needed. This addresses oss-fuzz issue 36426. --- src/haproxy.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/haproxy.c b/src/haproxy.c index 5d3d928..d09f15c 100644 --- a/src/haproxy.c +++ b/src/haproxy.c @@ -2740,7 +2740,9 @@ static void *run_thread_poll_loop(void *data) list_for_each_entry(ptaf, &per_thread_alloc_list, list) { if (!ptaf->fct()) { ha_alert("failed to allocate resources for thread %u.\n", tid); +#ifdef USE_THREAD pthread_mutex_unlock(&init_mutex); +#endif exit(1); } } @@ -2752,7 +2754,9 @@ static void *run_thread_poll_loop(void *data) list_for_each_entry(ptif, &per_thread_init_list, list) { if (!ptif->fct()) { ha_alert("failed to initialize thread %u.\n", tid); +#ifdef USE_THREAD pthread_mutex_unlock(&init_mutex); +#endif exit(1); } } -- 1.7.10.4