From 35efeb3eee532d141ac3858ca1ef28f339b30e75 Mon Sep 17 00:00:00 2001 From: Gwenhael Goavec-Merou Date: Thu, 23 Dec 2021 14:08:54 +0100 Subject: [PATCH] dfu: check libusb_open return value in searchDFUDevices --- src/dfu.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/dfu.cpp b/src/dfu.cpp index c6f1e9c..e0e726b 100644 --- a/src/dfu.cpp +++ b/src/dfu.cpp @@ -301,7 +301,18 @@ int DFU::searchDFUDevices() libusb_get_device_address(usb_dev)); } - libusb_open(usb_dev, &handle); + int ret = libusb_open(usb_dev, &handle); + if (ret != 0) { + char mess[256]; + sprintf(mess,"Unable to open device: " + "%04x:%04x (bus %d, device %2d) Error: %s\n", + desc.idVendor, desc.idProduct, + libusb_get_bus_number(usb_dev), + libusb_get_device_address(usb_dev), + libusb_error_name(ret)); + printError(mess); + return EXIT_FAILURE; + } if (searchIfDFU(handle, usb_dev, &desc) != 0) { return EXIT_FAILURE;