From: Beilei Xing <beilei.x...@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: sta...@dpdk.org

Signed-off-by: Beilei Xing <beilei.x...@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

Reply via email to