projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ea0dbeb
)
USB: opticon: fix memory leak in error path
author
Johan Hovold
<jhovold@gmail.com>
Thu, 25 Oct 2012 08:29:12 +0000
(10:29 +0200)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 25 Oct 2012 16:36:59 +0000
(09:36 -0700)
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>
drivers/usb/serial/opticon.c
patch
|
blob
|
history
diff --git
a/drivers/usb/serial/opticon.c
b/drivers/usb/serial/opticon.c
index 459c28889fe40fd7e27b4663045c13afecad8a51..6aba731d4864457acba4e644b463a5c2f725dfc7 100644
(file)
--- a/
drivers/usb/serial/opticon.c
+++ b/
drivers/usb/serial/opticon.c
@@
-286,7
+286,7
@@
static int opticon_write(struct tty_struct *tty, struct usb_serial_port *port,
if (!dr) {
dev_err(&port->dev, "out of memory\n");
count = -ENOMEM;
- goto error;
+ goto error
_no_dr
;
}
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;
error:
+ kfree(dr);
+error_no_dr:
usb_free_urb(urb);
error_no_urb:
kfree(buffer);