[dpdk-dev] [PATCH v2] app/testpmd: fix memory leak

Adrien Mazarguil adrien.mazarguil at 6wind.com
Mon Jan 30 10:33:18 CET 2017


Hi Pablo,

On Fri, Jan 27, 2017 at 02:54:58PM +0000, Pablo de Lara wrote:
> Free memory when port flow entry creation fails.
> 
> Coverity issue: 139600
> Fixes: 938a184a1870 ("app/testpmd: implement basic support for flow API")
> 
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
> ---
> Changes in v2:
> 
> - Removed unnecessary conditional
> 
>  app/test-pmd/config.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index 5834498..467932f 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -954,6 +954,7 @@ port_flow_new(const struct rte_flow_attr *attr,
>  		goto store;
>  	}
>  notsup:
> +	free(pf);
>  	rte_errno = err;
>  	return NULL;
>  }
> -- 
> 2.7.4
> 

I think this is a false positive, which is why I did not address it during
the last round of Coverity issues.

As a two-pass function, errors are checked during the first pass, when pf is
not allocated yet. During the second pass, intermediate functions are not
supposed to return a different result and "notsup" cannot occur.

I think assert()/rte_assert() would make more sense and should fool Coverity
into understanding the expected behavior.

The commit log should reflect that we are addressing a false positive since
there is no problem with the code logic (of course unless I missed anything
obvious).

Thanks.

-- 
Adrien Mazarguil
6WIND


More information about the dev mailing list