Fix potential memory leak due to kvlist not be freed. Fixes: 0d0dd2d9d8ff ("net/pcap: enable data path for secondary process") Cc: sta...@dpdk.org
Reported-by: Gage Eads <gage.e...@intel.com> Signed-off-by: Qi Zhang <qi.z.zh...@intel.com> --- drivers/net/pcap/rte_eth_pcap.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/pcap/rte_eth_pcap.c b/drivers/net/pcap/rte_eth_pcap.c index 9fd932772..65bbd7e2f 100644 --- a/drivers/net/pcap/rte_eth_pcap.c +++ b/drivers/net/pcap/rte_eth_pcap.c @@ -1258,7 +1258,8 @@ pmd_pcap_probe(struct rte_vdev_device *dev) if (pp == NULL) { PMD_LOG(ERR, "Failed to allocate memory for process private"); - return -1; + ret = -1; + goto free_kvlist; } eth_dev->dev_ops = &ops; @@ -1281,7 +1282,7 @@ pmd_pcap_probe(struct rte_vdev_device *dev) eth_dev->tx_pkt_burst = eth_pcap_tx; rte_eth_dev_probing_finish(eth_dev); - return 0; + goto free_kvlist; } ret = eth_from_pcaps(dev, &pcaps, pcaps.num_of_queue, &dumpers, -- 2.13.6