From 460a16507515654aac26165d2e755ddd46ebe99d Mon Sep 17 00:00:00 2001 From: Pawel Wodkowski Date: Wed, 25 Feb 2015 13:41:25 +0100 Subject: [PATCH] ring: fix memory leak Free kvlist on function exit to avoid memory leak during devinit. Signed-off-by: Pawel Wodkowski Acked-by: Olivier Matz --- 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 83ecfa851e..1e66d4ec19 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; } -- 2.20.1