| Index: patches/16_fix_leaks.patch
|
| diff --git a/patches/16_fix_leaks.patch b/patches/16_fix_leaks.patch
|
| deleted file mode 100644
|
| index 073457061f03ba7f9dc4935c9db15b2ed7ea2bd5..0000000000000000000000000000000000000000
|
| --- a/patches/16_fix_leaks.patch
|
| +++ /dev/null
|
| @@ -1,90 +0,0 @@
|
| -Index: src/libmtp.c
|
| -===================================================================
|
| ---- src/libmtp.c (revision 178434)
|
| -+++ src/libmtp.c (working copy)
|
| -@@ -1778,6 +1778,8 @@
|
| - char *minorstr = strndup(element + i + 1, strlen(element) - i - 1);
|
| - major = atoi(majorstr);
|
| - minor = atoi(minorstr);
|
| -+ free(majorstr);
|
| -+ free(minorstr);
|
| - extension = malloc(sizeof(LIBMTP_device_extension_t));
|
| - extension->name = name;
|
| - extension->major = major;
|
| -Index: src/libusb1-glue.c
|
| -===================================================================
|
| ---- src/libusb1-glue.c (revision 178434)
|
| -+++ src/libusb1-glue.c (working copy)
|
| -@@ -541,6 +541,7 @@
|
| - }
|
| - }
|
| - }
|
| -+ libusb_free_device_list (devs, 0);
|
| -
|
| - /* If nothing was found we end up here. */
|
| - if(*mtp_device_list == NULL) {
|
| -@@ -969,8 +970,10 @@
|
| - }
|
| - }
|
| - int getfunc_ret = handler->getfunc(NULL, handler->priv,towrite,bytes,&towrite);
|
| -- if (getfunc_ret != PTP_RC_OK)
|
| -+ if (getfunc_ret != PTP_RC_OK) {
|
| -+ free(bytes);
|
| - return getfunc_ret;
|
| -+ }
|
| - while (usbwritten < towrite) {
|
| - ret = USB_BULK_WRITE(ptp_usb->handle,
|
| - ptp_usb->outep,
|
| -@@ -982,6 +985,7 @@
|
| - LIBMTP_USB_DEBUG("USB OUT==>\n");
|
| -
|
| - if (ret != LIBUSB_SUCCESS) {
|
| -+ free(bytes);
|
| - return PTP_ERROR_IO;
|
| - }
|
| - LIBMTP_USB_DATA(bytes+usbwritten, xwritten, 16);
|
| -@@ -1004,6 +1008,7 @@
|
| - ptp_usb->current_transfer_total,
|
| - ptp_usb->current_transfer_callback_data);
|
| - if (ret != 0) {
|
| -+ free(bytes);
|
| - return PTP_ERROR_CANCEL;
|
| - }
|
| - }
|
| -@@ -2036,6 +2041,7 @@
|
| - /* Attempt to initialize this device */
|
| - if (init_ptp_usb(params, ptp_usb, ldevice) < 0) {
|
| - LIBMTP_ERROR("LIBMTP PANIC: Unable to initialize device\n");
|
| -+ libusb_free_device_list (devs, 0);
|
| - return LIBMTP_ERROR_CONNECTING;
|
| - }
|
| -
|
| -@@ -2051,12 +2057,14 @@
|
| -
|
| - if(init_ptp_usb(params, ptp_usb, ldevice) <0) {
|
| - LIBMTP_ERROR("LIBMTP PANIC: Could not init USB on second attempt\n");
|
| -+ libusb_free_device_list (devs, 0);
|
| - return LIBMTP_ERROR_CONNECTING;
|
| - }
|
| -
|
| - /* Device has been reset, try again */
|
| - if ((ret = ptp_opensession(params, 1)) == PTP_ERROR_IO) {
|
| - LIBMTP_ERROR("LIBMTP PANIC: failed to open session on second attempt\n");
|
| -+ libusb_free_device_list (devs, 0);
|
| - return LIBMTP_ERROR_CONNECTING;
|
| - }
|
| - }
|
| -@@ -2073,11 +2081,13 @@
|
| - "(Return code %d)\n Try to reset the device.\n",
|
| - ret);
|
| - libusb_release_interface(ptp_usb->handle, ptp_usb->interface);
|
| -+ libusb_free_device_list (devs, 0);
|
| - return LIBMTP_ERROR_CONNECTING;
|
| - }
|
| -
|
| - /* OK configured properly */
|
| - *usbinfo = (void *) ptp_usb;
|
| -+ libusb_free_device_list (devs, 0);
|
| - return LIBMTP_ERROR_NONE;
|
| - }
|
| -
|
|
|