In case of rte_ipsec_session_prepare() error, the crypto session was not freed, leading to its leakage.
Fixes: 20777eb5f913 ("pipeline: add IPsec") Coverity issue: 383139 Signed-off-by: Cristian Dumitrescu <cristian.dumitre...@intel.com> --- lib/pipeline/rte_swx_ipsec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/pipeline/rte_swx_ipsec.c b/lib/pipeline/rte_swx_ipsec.c index b23056e23e..6c217ee797 100644 --- a/lib/pipeline/rte_swx_ipsec.c +++ b/lib/pipeline/rte_swx_ipsec.c @@ -1719,7 +1719,11 @@ ipsec_session_create(struct rte_swx_ipsec *ipsec, s->pkt_func.prepare.async = NULL; s->pkt_func.process = NULL; - return rte_ipsec_session_prepare(s); + status = rte_ipsec_session_prepare(s); + if (status) + goto error; + + return 0; error: /* sa. */ -- 2.34.1