[PATCH] app/testpmd: fix memory leak for dscp table

Singh, Aman Deep aman.deep.singh at intel.com
Wed Jun 29 18:53:24 CEST 2022


Hi Jasvinder,

Thanks for the patch.


On 6/29/2022 9:07 PM, Morrissey, Sean wrote:
> Reviewed-by: Sean Morrissey <sean.morrissey at intel.com>
>
> Thanks.
>
> On 28/06/2022 14:29, Jasvinder Singh wrote:
>> This patch fixes memory leak reported by coverity.
>>
>> Coverity issue: 379220
>> Fixes: 9f5488e326d3 ("app/testpmd: support different input color 
>> method")
>>
>> Cc: stable at dpdk.org
>>
>> Signed-off-by: Jasvinder Singh <jasvinder.singh at intel.com>
>> ---
>>   app/test-pmd/cmdline_mtr.c | 6 +++++-
>>   1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/app/test-pmd/cmdline_mtr.c b/app/test-pmd/cmdline_mtr.c
>> index b92e66cedb..833273da0d 100644
>> --- a/app/test-pmd/cmdline_mtr.c
>> +++ b/app/test-pmd/cmdline_mtr.c
>> @@ -131,8 +131,10 @@ parse_input_color_table_entries(char *str, enum 
>> rte_color **dscp_table,
>>       /* Allocate memory for vlan table */
>>       vlan = (enum rte_color *)malloc(MAX_VLAN_TABLE_ENTRIES *
>>           sizeof(enum rte_color));
>> -    if (vlan == NULL)
>> +    if (vlan == NULL) {
>> +        free(*dscp_table);
>>           return -1;
>> +    }

Did we miss one return at line 129, or is it not required-

	token = strtok_r(str, PARSE_DELIMITER, &str);
	if (token == NULL)
		return 0;

>>         i = 0;
>>       while (1) {
>> @@ -144,6 +146,7 @@ parse_input_color_table_entries(char *str, enum 
>> rte_color **dscp_table,
>>               vlan[i++] = RTE_COLOR_RED;
>>           else {
>>               free(vlan);
>> +            free(*dscp_table);
>>               return -1;
>>           }
>>           if (i == MAX_VLAN_TABLE_ENTRIES)
>> @@ -152,6 +155,7 @@ parse_input_color_table_entries(char *str, enum 
>> rte_color **dscp_table,
>>           token = strtok_r(str, PARSE_DELIMITER, &str);
>>           if (token == NULL) {
>>               free(vlan);
>> +            free(*dscp_table);
>>               return -1;
>>           }
>>       }



More information about the stable mailing list