diff mbox

[media] s2255drv: fix memory leak s2255_probe()

Message ID 20140508225718.GA24276@devel.8.8.4.4 (mailing list archive)
State New, archived
Headers show

Commit Message

Daeseok Youn May 8, 2014, 10:57 p.m. UTC
smatch says:
 drivers/media/usb/s2255/s2255drv.c:2246 s2255_probe() warn:
possible memory leak of 'dev'

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
---
V2: use the same pattern for error handling.

 drivers/media/usb/s2255/s2255drv.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Sakari Ailus May 9, 2014, 7:32 a.m. UTC | #1
Hi Daeseok,

Thanks for the update! :-)

On Fri, May 09, 2014 at 07:57:18AM +0900, Daeseok Youn wrote:
> smatch says:
>  drivers/media/usb/s2255/s2255drv.c:2246 s2255_probe() warn:
> possible memory leak of 'dev'
> 
> Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
> ---
> V2: use the same pattern for error handling.
> 
>  drivers/media/usb/s2255/s2255drv.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/media/usb/s2255/s2255drv.c b/drivers/media/usb/s2255/s2255drv.c
> index 1d4ba2b..3193474 100644
> --- a/drivers/media/usb/s2255/s2255drv.c
> +++ b/drivers/media/usb/s2255/s2255drv.c
> @@ -2243,7 +2243,7 @@ static int s2255_probe(struct usb_interface *interface,
>  	dev->cmdbuf = kzalloc(S2255_CMDBUF_SIZE, GFP_KERNEL);
>  	if (dev->cmdbuf == NULL) {
>  		s2255_dev_err(&interface->dev, "out of memory\n");
> -		return -ENOMEM;
> +		goto errorFWDATA1;
>  	}
>  
>  	atomic_set(&dev->num_channels, 0);

Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
diff mbox

Patch

diff --git a/drivers/media/usb/s2255/s2255drv.c b/drivers/media/usb/s2255/s2255drv.c
index 1d4ba2b..3193474 100644
--- a/drivers/media/usb/s2255/s2255drv.c
+++ b/drivers/media/usb/s2255/s2255drv.c
@@ -2243,7 +2243,7 @@  static int s2255_probe(struct usb_interface *interface,
 	dev->cmdbuf = kzalloc(S2255_CMDBUF_SIZE, GFP_KERNEL);
 	if (dev->cmdbuf == NULL) {
 		s2255_dev_err(&interface->dev, "out of memory\n");
-		return -ENOMEM;
+		goto errorFWDATA1;
 	}
 
 	atomic_set(&dev->num_channels, 0);