[dpdk-dev] [PATCH 3/5] pmd ring: fix possible memory leak during devinit
Pawel Wodkowski
pawelx.wodkowski at intel.com
Mon Feb 23 15:09:58 CET 2015
Free kvlist on function exit to avoid memory leak.
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski at intel.com>
---
lib/librte_pmd_ring/rte_eth_ring.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/lib/librte_pmd_ring/rte_eth_ring.c b/lib/librte_pmd_ring/rte_eth_ring.c
index a23e933..582a621 100644
--- a/lib/librte_pmd_ring/rte_eth_ring.c
+++ b/lib/librte_pmd_ring/rte_eth_ring.c
@@ -527,7 +527,7 @@ out:
static int
rte_pmd_ring_devinit(const char *name, const char *params)
{
- struct rte_kvargs *kvlist;
+ struct rte_kvargs *kvlist = NULL;
int ret = 0;
struct node_action_list *info = NULL;
@@ -548,7 +548,7 @@ rte_pmd_ring_devinit(const char *name, const char *params)
info = rte_zmalloc("struct node_action_list", sizeof(struct node_action_list) +
(sizeof(struct node_action_pair) * ret), 0);
if (!info)
- goto out;
+ goto out_free;
info->total = ret;
info->list = (struct node_action_pair*)(info + 1);
@@ -567,8 +567,8 @@ rte_pmd_ring_devinit(const char *name, const char *params)
}
out_free:
+ rte_kvargs_free(kvlist);
rte_free(info);
-out:
return ret;
}
--
1.9.1
More information about the dev
mailing list