Thanks to Vincent Perrier for reporting the bug.
@ -1628,6 +1628,9 @@ found:
return 0;
err:
if (dev) {
if (dev->devh)
libusb_close(dev->devh);
if (dev->ctx)
libusb_exit(dev->ctx);