diff options
author | Sean McBride <sean@rogue-research.com> | 2023-12-30 00:43:29 -0500 |
---|---|---|
committer | Tormod Volden <debian.tormod@gmail.com> | 2024-01-19 19:43:24 +0100 |
commit | 7ab9c93d7da60bd5754291deb67586f63efe45eb (patch) | |
tree | 2f02257a6212e94fcf2151927ff11fc7ce23ae91 | |
parent | a8fba21b7fa38860d78b131ca72937792adb9d62 (diff) | |
download | libusb-7ab9c93d7da60bd5754291deb67586f63efe45eb.tar.gz |
core: Add missing mutex acquisition when manipulating active_contexts_list
The `active_contexts_list` is supposed to be protected by the
`active_contexts_lock` mutex.
Upon code review, found one place where the mutex was not acquired.
Closes #1413
-rw-r--r-- | libusb/core.c | 2 | ||||
-rw-r--r-- | libusb/version_nano.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/libusb/core.c b/libusb/core.c index 391acef..f67a4a0 100644 --- a/libusb/core.c +++ b/libusb/core.c @@ -2445,10 +2445,12 @@ int API_EXPORTED libusb_init_context(libusb_context **ctx, const struct libusb_i } /* check for first init */ + usbi_mutex_static_lock(&active_contexts_lock); if (!active_contexts_list.next) { list_init(&active_contexts_list); usbi_get_monotonic_time(×tamp_origin); } + usbi_mutex_static_unlock(&active_contexts_lock); _ctx = calloc(1, PTR_ALIGN(sizeof(*_ctx)) + priv_size); if (!_ctx) { diff --git a/libusb/version_nano.h b/libusb/version_nano.h index 69ee24e..e1060c8 100644 --- a/libusb/version_nano.h +++ b/libusb/version_nano.h @@ -1 +1 @@ -#define LIBUSB_NANO 11862 +#define LIBUSB_NANO 11863 |