Kévin Redon has uploaded this change for review. ( https://gerrit.osmocom.org/10125
Change subject: USB: print decoded USB error ...................................................................... USB: print decoded USB error In case of error it also ensures the returned value is NULL. Else a segfault would occur because the caller (e.g. remsim) continued on with a free handler. Change-Id: Ie7f20e3eff03acf77eb08283747ca8e032b9b4c8 --- M host/libusb_util.c 1 file changed, 10 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/25/10125/1 diff --git a/host/libusb_util.c b/host/libusb_util.c index 8565372..cb435e2 100644 --- a/host/libusb_util.c +++ b/host/libusb_util.c @@ -250,34 +250,39 @@ (strlen(ifm->path) && !strcmp(path, ifm->path))) { rc = libusb_open(*dev, &usb_devh); if (rc < 0) { - perror("Cannot open device"); + fprintf(stderr, "Cannot open device: %s\n", libusb_error_name(rc)); + usb_devh = NULL; break; } rc = libusb_get_configuration(usb_devh, &config); if (rc < 0) { - perror("Cannot get current configuration"); + fprintf(stderr, "Cannot get current configuration: %s\n", libusb_error_name(rc)); libusb_close(usb_devh); + usb_devh = NULL; break; } if (config != ifm->configuration) { rc = libusb_set_configuration(usb_devh, ifm->configuration); if (rc < 0) { - perror("Cannot set configuration"); + fprintf(stderr, "Cannot set configuration: %s\n", libusb_error_name(rc)); libusb_close(usb_devh); + usb_devh = NULL; break; } } rc = libusb_claim_interface(usb_devh, ifm->interface); if (rc < 0) { - perror("Cannot claim interface"); + fprintf(stderr, "Cannot claim interface: %s\n", libusb_error_name(rc)); libusb_close(usb_devh); + usb_devh = NULL; break; } rc = libusb_set_interface_alt_setting(usb_devh, ifm->interface, ifm->altsetting); if (rc < 0) { - perror("Cannot set interface altsetting"); + fprintf(stderr, "Cannot set interface altsetting: %s\n", libusb_error_name(rc)); libusb_release_interface(usb_devh, ifm->interface); libusb_close(usb_devh); + usb_devh = NULL; break; } } -- To view, visit https://gerrit.osmocom.org/10125 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie7f20e3eff03acf77eb08283747ca8e032b9b4c8 Gerrit-Change-Number: 10125 Gerrit-PatchSet: 1 Gerrit-Owner: Kévin Redon <kre...@sysmocom.de>