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

From: Aristeu Rozanski
Date: Mon Mar 28 2011 - 13:34:31 EST


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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/