diff options
author | Jiri Slaby <jirislaby@gmail.com> | 2009-09-23 10:09:56 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-10-09 16:52:06 -0400 |
commit | 696a4ace98b6b9c05c642a6840be98d6fde57655 (patch) | |
tree | bd7bc6dc6283298c8e6877bce8967f2bb6ef4390 /drivers/usb/misc/usblcd.c | |
parent | 0f0ba794dcd14c9154afdf36df6a7e18cceec121 (diff) |
USB: usblcd, fix memory leak
Stanse found a memory leak in lcd_probe. Instead of returning without
releasing the memory, jump to the error label which frees it.
http://stanse.fi.muni.cz/
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/misc/usblcd.c')
-rw-r--r-- | drivers/usb/misc/usblcd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/usb/misc/usblcd.c b/drivers/usb/misc/usblcd.c index 29092b8e59ce..4fb120357c55 100644 --- a/drivers/usb/misc/usblcd.c +++ b/drivers/usb/misc/usblcd.c | |||
@@ -313,7 +313,8 @@ static int lcd_probe(struct usb_interface *interface, const struct usb_device_id | |||
313 | 313 | ||
314 | if (le16_to_cpu(dev->udev->descriptor.idProduct) != 0x0001) { | 314 | if (le16_to_cpu(dev->udev->descriptor.idProduct) != 0x0001) { |
315 | dev_warn(&interface->dev, "USBLCD model not supported.\n"); | 315 | dev_warn(&interface->dev, "USBLCD model not supported.\n"); |
316 | return -ENODEV; | 316 | retval = -ENODEV; |
317 | goto error; | ||
317 | } | 318 | } |
318 | 319 | ||
319 | /* set up the endpoint information */ | 320 | /* set up the endpoint information */ |