From: Beilei Xing <[email protected]>
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: [email protected]
Signed-off-by: Beilei Xing <[email protected]>
---
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