From: Qi Zhang <qi.z.zhang@intel.com>
Date: Thu, 29 Aug 2019 02:36:12 +0000 (+0800)
Subject: net/ice/base: fix memory leak
X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=348ea028ea9fd9873c40d776035a76447aa666b1;p=dpdk.git

net/ice/base: fix memory leak

Need to free new ice_vsig_prof if no valid ptype can be found.

Fixes: d935fb5bb091 ("net/ice/base: fix packet type size")
Cc: stable@dpdk.org

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Xiaolong Ye <xiaolong.ye@intel.com>
---

diff --git a/drivers/net/ice/base/ice_flex_pipe.c b/drivers/net/ice/base/ice_flex_pipe.c
index 73362c909b..7daaf10b05 100644
--- a/drivers/net/ice/base/ice_flex_pipe.c
+++ b/drivers/net/ice/base/ice_flex_pipe.c
@@ -4918,8 +4918,10 @@ ice_add_prof_to_lst(struct ice_hw *hw, enum ice_block blk,
 		p->tcam[i].prof_id = map->prof_id;
 		p->tcam[i].tcam_idx = ICE_INVALID_TCAM;
 
-		if (ice_ptg_find_ptype(hw, blk, map->ptype[i], &ptg))
+		if (ice_ptg_find_ptype(hw, blk, map->ptype[i], &ptg)) {
+			ice_free(hw, p);
 			return ICE_ERR_CFG;
+		}
 
 		p->tcam[i].ptg = ptg;
 	}