From: James Jones Date: Wed, 22 Nov 2023 18:56:30 +0000 (-0600) Subject: mutexes near returns (CID #1551697, #1551698) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac5d426c677d0752ac15bc5b7bad6bdd6a43102e;p=thirdparty%2Ffreeradius-server.git mutexes near returns (CID #1551697, #1551698) 1551697 Guard reference to is_exiting if HAVE_PTHREADS defined 1551698 Annotate leaving exfiles opened for exclusive use locked --- diff --git a/src/lib/server/exfile.c b/src/lib/server/exfile.c index 908c0daa957..421ff39cb70 100644 --- a/src/lib/server/exfile.c +++ b/src/lib/server/exfile.c @@ -485,6 +485,7 @@ try_lock: exfile_trigger_exec(ef, &ef->entries[i], "reserve"); + /* coverity[missing_unlock] */ return ef->entries[i].fd; } diff --git a/src/lib/util/atexit.c b/src/lib/util/atexit.c index 2db9335f4a1..71181a0586e 100644 --- a/src/lib/util/atexit.c +++ b/src/lib/util/atexit.c @@ -411,7 +411,17 @@ do_threads: */ bool fr_atexit_is_exiting(void) { +#ifdef HAVE_PTHREADS + bool save_is_exiting; + + pthread_mutex_lock(&fr_atexit_global_mutex); + save_is_exiting = is_exiting; + pthread_mutex_unlock(&fr_atexit_global_mutex); + + return save_is_exiting; +#else return is_exiting; +#endif } #ifdef HAVE_PTHREADS