diff options
-rw-r--r-- | libusb/os/openbsd_usb.c | 5 | ||||
-rw-r--r-- | libusb/version_nano.h | 2 |
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 |