2014-12-27 18:42:15

by Rickard Strandqvist

[permalink] [raw]
Subject: [PATCH] staging: ft1000: ft1000-usb: ft1000_hw.c: Fix a potential memory leak.

Avoid allocate memory if we will exit the function.

Was found by using a static code analysis program called cppcheck.

Signed-off-by: Rickard Strandqvist <[email protected]>
---
drivers/staging/ft1000/ft1000-usb/ft1000_hw.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
index 2e13e7b..72b8f03 100644
--- a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
+++ b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
@@ -331,15 +331,15 @@ int card_send_command(struct ft1000_usb *ft1000dev, void *ptempbuffer,

DEBUG("card_send_command: enter card_send_command... size=%d\n", size);

+ ret = ft1000_read_register(ft1000dev, &temp, FT1000_REG_DOORBELL);
+ if (ret)
+ return ret;
+
commandbuf = kmalloc(size + 2, GFP_KERNEL);
if (!commandbuf)
return -ENOMEM;
memcpy((void *)commandbuf + 2, (void *)ptempbuffer, size);

- ret = ft1000_read_register(ft1000dev, &temp, FT1000_REG_DOORBELL);
- if (ret)
- return ret;
-
if (temp & 0x0100)
usleep_range(900, 1100);

--
1.7.10.4


2014-12-29 06:46:49

by Sudip Mukherjee

[permalink] [raw]
Subject: Re: [PATCH] staging: ft1000: ft1000-usb: ft1000_hw.c: Fix a potential memory leak.

On Sat, Dec 27, 2014 at 07:45:07PM +0100, Rickard Strandqvist wrote:
> Avoid allocate memory if we will exit the function.
>
> Was found by using a static code analysis program called cppcheck.
>
> Signed-off-by: Rickard Strandqvist <[email protected]>
> ---
> drivers/staging/ft1000/ft1000-usb/ft1000_hw.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
> index 2e13e7b..72b8f03 100644
> --- a/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
> +++ b/drivers/staging/ft1000/ft1000-usb/ft1000_hw.c
> @@ -331,15 +331,15 @@ int card_send_command(struct ft1000_usb *ft1000dev, void *ptempbuffer,
>
> DEBUG("card_send_command: enter card_send_command... size=%d\n", size);

this is not applying to next-20141226. your tree is not a current one. This DEBUG line was changed by patch "b5d8204d00fa3bcd1f3b4b060fb90675d00baee0"

thanks
sudip

>
> + ret = ft1000_read_register(ft1000dev, &temp, FT1000_REG_DOORBELL);
> + if (ret)
> + return ret;
> +
> commandbuf = kmalloc(size + 2, GFP_KERNEL);
> if (!commandbuf)
> return -ENOMEM;
> memcpy((void *)commandbuf + 2, (void *)ptempbuffer, size);
>
> - ret = ft1000_read_register(ft1000dev, &temp, FT1000_REG_DOORBELL);
> - if (ret)
> - return ret;
> -
> if (temp & 0x0100)
> usleep_range(900, 1100);
>
> --
> 1.7.10.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/