app/testpmd: fix buffer leak in TM command
authorNithin Dabilpuram <nithin.dabilpuram@caviumnetworks.com>
Thu, 5 Jul 2018 05:45:46 +0000 (11:15 +0530)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 26 Jul 2018 17:29:56 +0000 (19:29 +0200)
Free the buffer allocated for shared_shaper_id array in
case of configuration without shared shapers.

Fixes: 996cb153af06 ("app/testpmd: add commands for TM nodes and hierarchy commit")

Signed-off-by: Nithin Dabilpuram <nithin.dabilpuram@caviumnetworks.com>
Acked-by: Jasvinder Singh <jasvinder.singh@intel.com>
app/test-pmd/cmdline_tm.c

index c904e44..7c1601f 100644 (file)
@@ -1599,10 +1599,12 @@ static void cmd_add_port_tm_nonleaf_node_parsed(void *parsed_result,
                np.shaper_profile_id = res->shaper_profile_id;
 
        np.n_shared_shapers = n_shared_shapers;
-       if (np.n_shared_shapers)
+       if (np.n_shared_shapers) {
                np.shared_shaper_id = &shared_shaper_id[0];
-       else
-               np.shared_shaper_id = NULL;
+       } else {
+               free(shared_shaper_id);
+               shared_shaper_id = NULL;
+       }
 
        np.nonleaf.n_sp_priorities = res->n_sp_priorities;
        np.stats_mask = res->stats_mask;
@@ -1758,10 +1760,12 @@ static void cmd_add_port_tm_leaf_node_parsed(void *parsed_result,
 
        np.n_shared_shapers = n_shared_shapers;
 
-       if (np.n_shared_shapers)
+       if (np.n_shared_shapers) {
                np.shared_shaper_id = &shared_shaper_id[0];
-       else
-               np.shared_shaper_id = NULL;
+       } else {
+               free(shared_shaper_id);
+               shared_shaper_id = NULL;
+       }
 
        np.leaf.cman = res->cman_mode;
        np.leaf.wred.wred_profile_id = res->wred_profile_id;