Fix leakage pathes for V1

pull/35/head
Uwe Bonnes 2011-12-10 18:08:06 +01:00
rodzic c1130cc3a6
commit 48b604040a
1 zmienionych plików z 5 dodań i 0 usunięć

Wyświetl plik

@ -857,6 +857,7 @@ static stlink_t* stlink_open(const int verbose) {
if (slsg->usb_handle == NULL) {
WLOG("Failed to find an stlink v1 by VID:PID\n");
libusb_close(slsg->usb_handle);
libusb_exit(slsg->libusb_ctx);
free(sl);
free(slsg);
return NULL;
@ -871,6 +872,7 @@ static stlink_t* stlink_open(const int verbose) {
if (r < 0) {
WLOG("libusb_detach_kernel_driver(() error %s\n", strerror(-r));
libusb_close(slsg->usb_handle);
libusb_exit(slsg->libusb_ctx);
free(sl);
free(slsg);
return NULL;
@ -883,6 +885,7 @@ static stlink_t* stlink_open(const int verbose) {
/* this may fail for a previous configured device */
WLOG("libusb_get_configuration()\n");
libusb_close(slsg->usb_handle);
libusb_exit(slsg->libusb_ctx);
free(sl);
free(slsg);
return NULL;
@ -897,6 +900,7 @@ static stlink_t* stlink_open(const int verbose) {
/* this may fail for a previous configured device */
WLOG("libusb_set_configuration() failed\n");
libusb_close(slsg->usb_handle);
libusb_exit(slsg->libusb_ctx);
free(sl);
free(slsg);
return NULL;
@ -906,6 +910,7 @@ static stlink_t* stlink_open(const int verbose) {
if (libusb_claim_interface(slsg->usb_handle, 0)) {
WLOG("libusb_claim_interface() failed\n");
libusb_close(slsg->usb_handle);
libusb_exit(slsg->libusb_ctx);
free(sl);
free(slsg);
return NULL;