From: Uwe Bonnes Date: Sat, 10 Dec 2011 16:59:20 +0000 (+0100) Subject: Fix memory leakage pathe with no V2 device found X-Git-Url: https://git.gag.com/?p=fw%2Fstlink;a=commitdiff_plain;h=c1130cc3a68f158632ce0a92d3ff61b7d6795e69 Fix memory leakage pathe with no V2 device found --- diff --git a/src/stlink-usb.c b/src/stlink-usb.c index 58c4e1d..1320831 100644 --- a/src/stlink-usb.c +++ b/src/stlink-usb.c @@ -576,9 +576,8 @@ stlink_t* stlink_open_usb(const int verbose) { slu->usb_handle = libusb_open_device_with_vid_pid(slu->libusb_ctx, USB_ST_VID, USB_STLINK_32L_PID); if (slu->usb_handle == NULL) { // TODO - free usb context too... - free(slu); WLOG("Couldn't find any ST-Link/V2 devices"); - return NULL; + goto on_error; } if (libusb_kernel_driver_active(slu->usb_handle, 0) == 1) { @@ -660,6 +659,8 @@ on_libusb_error: return sl; on_error: + if( slu->libusb_ctx) + libusb_exit(slu->libusb_ctx); if (sl != NULL) free(sl); if (slu != NULL) free(slu); return 0;