From: Ilya V. Matveychikov Date: Fri, 10 Nov 2017 13:55:16 +0000 (+0300) Subject: pdump: fix possible mbuf leak on failure X-Git-Tag: spdx-start~847 X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=ef1d0e390e056916438ad74c4fa0333c3f09aaa6 pdump: fix possible mbuf leak on failure If pdump_pktmbuf_copy_data() fails it's possible to have segment leak as rte_pktmbuf_free() only handles m_dup chain but not the seg just allocated and yet not chained. Fixes: 278f945402c5 ("pdump: add new library for packet capture") Signed-off-by: Ilya V. Matveychikov --- diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c index e6182d35c5..fec49b525f 100644 --- a/lib/librte_pdump/rte_pdump.c +++ b/lib/librte_pdump/rte_pdump.c @@ -153,6 +153,8 @@ pdump_pktmbuf_copy(struct rte_mbuf *m, struct rte_mempool *mp) do { nseg++; if (pdump_pktmbuf_copy_data(seg, m) < 0) { + if (seg != m_dup) + rte_pktmbuf_free_seg(seg); rte_pktmbuf_free(m_dup); return NULL; }