app/testpmd: fix null pointer dereference
authorJasvinder Singh <jasvinder.singh@intel.com>
Fri, 27 Oct 2017 09:10:18 +0000 (10:10 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 7 Nov 2017 07:04:16 +0000 (07:04 +0000)
malloc() function might returns NULL when memory allocation fails
due to insufficient space. Therefore, check for handling memory allocation
failure is added.

Coverity issue: 198442,198444
Fixes: 996cb153af06 ("app/testpmd: add commands for TM nodes and hierarchy commit")

Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
app/test-pmd/cmdline_tm.c

index 964ce9d..b737f8a 100644 (file)
@@ -1615,6 +1615,11 @@ static void cmd_add_port_tm_nonleaf_node_parsed(void *parsed_result,
 
        shared_shaper_id = (uint32_t *)malloc(MAX_NUM_SHARED_SHAPERS *
                sizeof(uint32_t));
+       if (shared_shaper_id == NULL) {
+               printf(" Memory not allocated for shared shapers (error)\n");
+               return;
+       }
+
        /* Parse multi shared shaper id string */
        ret = parse_multi_ss_id_str(s_str, &n_shared_shapers, shared_shaper_id);
        if (ret) {
@@ -1770,6 +1775,11 @@ static void cmd_add_port_tm_leaf_node_parsed(void *parsed_result,
 
        shared_shaper_id = (uint32_t *)malloc(MAX_NUM_SHARED_SHAPERS *
                sizeof(uint32_t));
+       if (shared_shaper_id == NULL) {
+               printf(" Memory not allocated for shared shapers (error)\n");
+               return;
+       }
+
        /* Parse multi shared shaper id string */
        ret = parse_multi_ss_id_str(s_str, &n_shared_shapers, shared_shaper_id);
        if (ret) {