USB: sierra: fix memory leak in attach error path
Make sure port private data is deallocated on errors in attach. Cc: <stable@vger.kernel.org> Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b8f0e82044
commit
7e41f9bcdd
|
@ -905,7 +905,7 @@ static int sierra_startup(struct usb_serial *serial)
|
|||
dev_dbg(&port->dev, "%s: kmalloc for "
|
||||
"sierra_port_private (%d) failed!\n",
|
||||
__func__, i);
|
||||
return -ENOMEM;
|
||||
goto err;
|
||||
}
|
||||
spin_lock_init(&portdata->lock);
|
||||
init_usb_anchor(&portdata->active);
|
||||
|
@ -942,6 +942,13 @@ static int sierra_startup(struct usb_serial *serial)
|
|||
}
|
||||
|
||||
return 0;
|
||||
err:
|
||||
for (--i; i >= 0; --i) {
|
||||
portdata = usb_get_serial_port_data(serial->port[i]);
|
||||
kfree(portdata);
|
||||
}
|
||||
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
static void sierra_release(struct usb_serial *serial)
|
||||
|
|
Loading…
Reference in New Issue