From 66d058150d9844a8556c37de6b5603c9e18a0330 Mon Sep 17 00:00:00 2001 From: Nathan Hjelm Date: Thu, 10 Jun 2021 21:02:05 -0600 Subject: [PATCH] core: only increment devices_released when a device is destroyed Fix a typo in the last commit to ensure the loop does exit when there is a dangling reference. Signed-off-by: Nathan Hjelm --- libusb/hotplug.c | 5 +++-- libusb/version_nano.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/libusb/hotplug.c b/libusb/hotplug.c index deb138d..b6f896a 100644 --- a/libusb/hotplug.c +++ b/libusb/hotplug.c @@ -198,10 +198,11 @@ void usbi_hotplug_exit(struct libusb_context *ctx) /* remove the device from the usb_devs list only if there are no * references held, otherwise leave it on the list so that a * warning message will be shown */ - if (usbi_atomic_load(&dev->refcnt) == 1) + if (usbi_atomic_load(&dev->refcnt) == 1) { + ++devices_released; list_del(&dev->list); + } libusb_unref_device(dev); - ++devices_released; } } while (devices_released > 0); diff --git a/libusb/version_nano.h b/libusb/version_nano.h index 21591b9..3924959 100644 --- a/libusb/version_nano.h +++ b/libusb/version_nano.h @@ -1 +1 @@ -#define LIBUSB_NANO 11624 +#define LIBUSB_NANO 11625 -- 2.34.1