summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libusb/core.c1
-rw-r--r--libusb/os/threads_windows.c2
2 files changed, 2 insertions, 1 deletions
diff --git a/libusb/core.c b/libusb/core.c
index 6da729f..da0ca9d 100644
--- a/libusb/core.c
+++ b/libusb/core.c
@@ -831,6 +831,7 @@ API_EXPORTED void libusb_unref_device(libusb_device *dev)
usbi_mutex_lock(&dev->ctx->usb_devs_lock);
list_del(&dev->list);
usbi_mutex_unlock(&dev->ctx->usb_devs_lock);
+ usbi_mutex_destroy(&dev->lock);
free(dev);
}
diff --git a/libusb/os/threads_windows.c b/libusb/os/threads_windows.c
index 11b55f9..da49eec 100644
--- a/libusb/os/threads_windows.c
+++ b/libusb/os/threads_windows.c
@@ -62,7 +62,7 @@ int usbi_mutex_lock(usbi_mutex_t *mutex) {
}
int usbi_mutex_unlock(usbi_mutex_t *mutex) {
if(!mutex) return ((errno=EINVAL));
- if(!ReleaseMutex(mutex)) return ((errno=EPERM ));
+ if(!ReleaseMutex(*mutex)) return ((errno=EPERM ));
return 0;
}