diff options
author | Jesper Juhl <jj@chaosbits.net> | 2011-06-13 16:50:41 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-06-14 17:20:30 -0400 |
commit | 357f45db920393aac983a137bd74095f612d5a01 (patch) | |
tree | 55139bfad33a4c54b18e8dfa92cf08eda70c9926 /drivers/usb/serial | |
parent | 869e9e567fe6bba859e1d761250d160a9216498a (diff) |
USB: TI 3410/5052 USB Serial Driver: Fix mem leak when firmware is too big.
If the size of the firmware exceeds TI_FIRMWARE_BUF_SIZE we'll leak 'fw_p'
by failing to call release_firmware().
This patch fixes the leak.
Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial')
-rw-r--r-- | drivers/usb/serial/ti_usb_3410_5052.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c index c6d92a530086..ea8445689c85 100644 --- a/drivers/usb/serial/ti_usb_3410_5052.c +++ b/drivers/usb/serial/ti_usb_3410_5052.c | |||
@@ -1745,6 +1745,7 @@ static int ti_download_firmware(struct ti_device *tdev) | |||
1745 | } | 1745 | } |
1746 | if (fw_p->size > TI_FIRMWARE_BUF_SIZE) { | 1746 | if (fw_p->size > TI_FIRMWARE_BUF_SIZE) { |
1747 | dev_err(&dev->dev, "%s - firmware too large %zu\n", __func__, fw_p->size); | 1747 | dev_err(&dev->dev, "%s - firmware too large %zu\n", __func__, fw_p->size); |
1748 | release_firmware(fw_p); | ||
1748 | return -ENOENT; | 1749 | return -ENOENT; |
1749 | } | 1750 | } |
1750 | 1751 | ||