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:
Johan Hovold 2012-10-25 10:29:12 +02:00 committed by Greg Kroah-Hartman
parent ea0dbebffe
commit acbf0e5263

View file

@ -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);