[PATCH v2] net/cpfl: fix memory leak

beilei.xing at intel.com beilei.xing at intel.com
Wed Oct 18 16:27:23 CEST 2023


From: Beilei Xing <beilei.xing at intel.com>

Fix resource leak reported in coverity scan.

Coverity issue: 403265
Fixes: 2d823ecd671c ("net/cpfl: support device initialization")
Fixes: 989465ac51ea ("net/cpfl: support probe again")
Cc: stable at dpdk.org

Signed-off-by: Beilei Xing <beilei.xing at intel.com>
---
v2 change:
 - add label finish for successful case.

 drivers/net/cpfl/cpfl_ethdev.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethdev.c
index 890a027a1d..a94a0604f5 100644
--- a/drivers/net/cpfl/cpfl_ethdev.c
+++ b/drivers/net/cpfl/cpfl_ethdev.c
@@ -1626,7 +1626,8 @@ cpfl_parse_devargs(struct rte_pci_device *pci_dev, struct cpfl_adapter_ext *adap
 
 	if (rte_kvargs_count(kvlist, CPFL_VPORT) > 1) {
 		PMD_INIT_LOG(ERR, "devarg vport is duplicated.");
-		return -EINVAL;
+		ret = -EINVAL;
+		goto fail;
 	}
 
 	ret = rte_kvargs_process(kvlist, CPFL_REPRESENTOR, &parse_repr, cpfl_args);
@@ -1635,7 +1636,7 @@ cpfl_parse_devargs(struct rte_pci_device *pci_dev, struct cpfl_adapter_ext *adap
 		goto fail;
 
 	if (!first)
-		return 0;
+		goto finish;
 
 	ret = rte_kvargs_process(kvlist, CPFL_VPORT, &parse_vport,
 				 cpfl_args);
@@ -1663,6 +1664,7 @@ cpfl_parse_devargs(struct rte_pci_device *pci_dev, struct cpfl_adapter_ext *adap
 		cpfl_args->flow_parser[0] = '\0';
 	}
 #endif
+finish:
 fail:
 	rte_kvargs_free(kvlist);
 	return ret;
-- 
2.34.1



More information about the stable mailing list