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

Message ID 1509617621-24850-1-git-send-email-kirill.rybalchenko@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Rybalchenko, Kirill Nov. 2, 2017, 10:13 a.m. UTC
  Fix potential memory leak in cmd_ddp_info_parsed() function.

Fixes: a8e005696c7b ("app/testpmd: get ddp profile protocol info")

Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
---
 app/test-pmd/cmdline.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
  

Comments

Ferruh Yigit Nov. 7, 2017, 7:06 a.m. UTC | #1
On 11/2/2017 3:13 AM, Kirill Rybalchenko wrote:
> Fix potential memory leak in cmd_ddp_info_parsed() function. 

Coverity issue: 195044

> Fixes: a8e005696c7b ("app/testpmd: get ddp profile protocol info")
> 
> Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
  
Ferruh Yigit Nov. 7, 2017, 7:07 a.m. UTC | #2
On 11/6/2017 11:06 PM, Ferruh Yigit wrote:
> On 11/2/2017 3:13 AM, Kirill Rybalchenko wrote:
>> Fix potential memory leak in cmd_ddp_info_parsed() function. 
> 
> Coverity issue: 195044
> 
>> Fixes: a8e005696c7b ("app/testpmd: get ddp profile protocol info")
>>
>> Signed-off-by: Kirill Rybalchenko <kirill.rybalchenko@intel.com>
> 
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied to dpdk/master, thanks.
  

Patch

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 3b691fe..eb044e7 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -14362,7 +14362,7 @@  cmd_ddp_info_parsed(
 	uint32_t dev_num = 0;
 	struct rte_pmd_i40e_ddp_device_id *devs;
 	uint32_t proto_num = 0;
-	struct rte_pmd_i40e_proto_info *proto;
+	struct rte_pmd_i40e_proto_info *proto = NULL;
 	uint32_t pctype_num = 0;
 	struct rte_pmd_i40e_ptype_info *pctype;
 	uint32_t ptype_num = 0;
@@ -14541,9 +14541,10 @@  cmd_ddp_info_parsed(
 	free(ptype);
 	printf("\n");
 
-	free(proto);
 	ret = 0;
 no_print_return:
+	if (proto)
+		free(proto);
 #endif
 	if (ret == -ENOTSUP)
 		printf("Function not supported in PMD driver\n");