]> git.droids-corp.org - dpdk.git/commitdiff
app/testpmd: fix memory leak for DSCP table
authorJasvinder Singh <jasvinder.singh@intel.com>
Tue, 28 Jun 2022 13:29:16 +0000 (14:29 +0100)
committerAndrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Thu, 7 Jul 2022 12:38:33 +0000 (14:38 +0200)
Fix memory leak reported by Coverity.

Coverity issue: 379220
Fixes: 9f5488e326d3 ("app/testpmd: support different input color method")
Cc: stable@dpdk.org
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Reviewed-by: Sean Morrissey <sean.morrissey@intel.com>
Acked-by: Aman Singh <aman.deep.singh@intel.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
app/test-pmd/cmdline_mtr.c

index b92e66cedb356a6136c11edceae93f27c94f0dfa..833273da0d0247a29b23d83a7eb23e1cbb24e81b 100644 (file)
@@ -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;
+       }
 
        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;
                }
        }