summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libusb/os/openbsd_usb.c5
-rw-r--r--libusb/version_nano.h2
2 files changed, 5 insertions, 2 deletions
diff --git a/libusb/os/openbsd_usb.c b/libusb/os/openbsd_usb.c
index 84c339e..e1be242 100644
--- a/libusb/os/openbsd_usb.c
+++ b/libusb/os/openbsd_usb.c
@@ -186,7 +186,9 @@ obsd_get_device_list(struct libusb_context * ctx,
session_id = (di.udi_bus << 8 | di.udi_addr);
dev = usbi_get_device_by_session_id(ctx, session_id);
- if (dev == NULL) {
+ if (dev) {
+ dev = libusb_ref_device(dev);
+ } else {
dev = usbi_alloc_device(ctx, session_id);
if (dev == NULL) {
close(fd);
@@ -226,6 +228,7 @@ obsd_get_device_list(struct libusb_context * ctx,
close(fd);
return (LIBUSB_ERROR_NO_MEM);
}
+ libusb_unref_device(dev);
*discdevs = ddd;
devices[addr] = 1;
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index 1aa4bd5..d8a3c31 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 10832
+#define LIBUSB_NANO 10833