Re: [GIT PATCH] Fix memory leak in qcserial driver

Aristeu Rozanski
2011-03-28T17:34:29Z

On Mon, Mar 28, 2011 at 03:06:26PM +0100, Steven Hardy wrote:
> @@ -198,13 +200,27 @@ static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id)
> default:
> dev_err(&serial->dev->dev,
> "unknown number of interfaces: %d\n", nintf);
> + retval = -ENODEV;
> kfree(data);
> - return -ENODEV;
> }
>
> + /* Set serial->private may be null if -ENODEV */
> + usb_set_serial_data(serial, data);
> return retval;
> }
when there's a -ENODEV, kfree() is called but the now invalid address is
set by usb_set_serial_data() anyway. am I missing something here?

--
Aristeu