Fix potential memory leak due to kvlist not be freed.
Fixes: 0d0dd2d9d8ff ("net/pcap: enable data path for secondary process")
Cc: [email protected]
Reported-by: Gage Eads <[email protected]>
Signed-off-by: Qi Zhang <[email protected]>
---
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