[PATCH 1/1] usbip/userspace/libsrc/names.c: memory leak

Sergei Shtylyov sergei.shtylyov at cogentembedded.com
Mon Jan 27 23:52:13 UTC 2014


Hello.

On 01/28/2014 01:29 AM, xypron.glpk at gmx.de wrote:

> From: Heinrich Schuchardt <xypron.glpk at gmx.de>

> p is freed if NULL.

    This is not an issue.

> p is leaked if second calloc fails.
>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
> ---
>   drivers/staging/usbip/userspace/libsrc/names.c |    2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/staging/usbip/userspace/libsrc/names.c b/drivers/staging/usbip/userspace/libsrc/names.c
> index 3c8d28b..b2904e8 100644
> --- a/drivers/staging/usbip/userspace/libsrc/names.c
> +++ b/drivers/staging/usbip/userspace/libsrc/names.c
> @@ -170,12 +170,12 @@ static void *my_malloc(size_t size)
>
>   	p = calloc(1, sizeof(struct pool));
>   	if (!p) {
> -		free(p);
>   		return NULL;
>   	}

    {} not needed anymore.

>
>   	p->mem = calloc(1, size);
>   	if (!p->mem)
> +		free(p);
>   		return NULL;

    How about {} around the *if* arm?

WBR, Sergei



More information about the devel mailing list