app/testpmd: fix mbuf leak with multi-segment Tx
authorAndrew Rybchenko <arybchenko@solarflare.com>
Wed, 8 May 2019 10:27:37 +0000 (11:27 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Wed, 8 May 2019 18:31:43 +0000 (20:31 +0200)
The last mbuf allocated in bulk is never used and never freed.

Fixes: 01b645dcff7f ("app/testpmd: move txonly prepare in separate function")
Fixes: 561ddcf8d099 ("app/testpmd: allocate txonly segments per bulk")

Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
app/test-pmd/txonly.c

index fa8e0c0..fdfca14 100644 (file)
@@ -167,7 +167,7 @@ pkt_burst_prepare(struct rte_mbuf *pkt, struct rte_mempool *mbp,
                nb_segs = tx_pkt_nb_segs;
 
        if (nb_segs > 1) {
-               if (rte_mempool_get_bulk(mbp, (void **)pkt_segs, nb_segs))
+               if (rte_mempool_get_bulk(mbp, (void **)pkt_segs, nb_segs - 1))
                        return false;
        }