USB: opticon: fix memory leak in error path
Fix memory leak in write error path. 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
ea0dbebffe
commit
acbf0e5263
|
@ -286,7 +286,7 @@ static int opticon_write(struct tty_struct *tty, struct usb_serial_port *port,
|
||||||
if (!dr) {
|
if (!dr) {
|
||||||
dev_err(&port->dev, "out of memory\n");
|
dev_err(&port->dev, "out of memory\n");
|
||||||
count = -ENOMEM;
|
count = -ENOMEM;
|
||||||
goto error;
|
goto error_no_dr;
|
||||||
}
|
}
|
||||||
|
|
||||||
dr->bRequestType = USB_TYPE_VENDOR | USB_RECIP_INTERFACE | USB_DIR_OUT;
|
dr->bRequestType = USB_TYPE_VENDOR | USB_RECIP_INTERFACE | USB_DIR_OUT;
|
||||||
|
@ -316,6 +316,8 @@ static int opticon_write(struct tty_struct *tty, struct usb_serial_port *port,
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
error:
|
error:
|
||||||
|
kfree(dr);
|
||||||
|
error_no_dr:
|
||||||
usb_free_urb(urb);
|
usb_free_urb(urb);
|
||||||
error_no_urb:
|
error_no_urb:
|
||||||
kfree(buffer);
|
kfree(buffer);
|
||||||
|
|
Loading…
Reference in a new issue