[dpdk-dev,v3] crypto: fix memory leak

Message ID 1468848064-19131-1-git-send-email-pablo.de.lara.guarch@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

De Lara Guarch, Pablo July 18, 2016, 1:21 p.m. UTC
  When parsing the parameters for virtual device initialization,
rte_kvargs structure was being freed only if there was an error,
not when parsing was successful.

Coverity issue: 124568

Fixes: f3e764fa2fb7 ("cryptodev: uninline parameter parsing")

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Reshma Pattan <reshma.pattan@intel.com>
---

Changes in v3:
- Removed unnecessary NULL check

Changes in v2:
- Initialized ret variable to 0 (success)

 lib/librte_cryptodev/rte_cryptodev.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
  

Comments

Thomas Monjalon July 22, 2016, 9:02 a.m. UTC | #1
2016-07-18 14:21, Pablo de Lara:
> When parsing the parameters for virtual device initialization,
> rte_kvargs structure was being freed only if there was an error,
> not when parsing was successful.
> 
> Coverity issue: 124568
> 
> Fixes: f3e764fa2fb7 ("cryptodev: uninline parameter parsing")
> 
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
> Acked-by: Reshma Pattan <reshma.pattan@intel.com>

Applied, thanks
  

Patch

diff --git a/lib/librte_cryptodev/rte_cryptodev.c b/lib/librte_cryptodev/rte_cryptodev.c
index 20e5beb..fc4123b 100644
--- a/lib/librte_cryptodev/rte_cryptodev.c
+++ b/lib/librte_cryptodev/rte_cryptodev.c
@@ -148,8 +148,8 @@  int
 rte_cryptodev_parse_vdev_init_params(struct rte_crypto_vdev_init_params *params,
 		const char *input_args)
 {
-	struct rte_kvargs *kvlist;
-	int ret;
+	struct rte_kvargs *kvlist = NULL;
+	int ret = 0;
 
 	if (params == NULL)
 		return -EINVAL;
@@ -187,8 +187,6 @@  rte_cryptodev_parse_vdev_init_params(struct rte_crypto_vdev_init_params *params,
 		}
 	}
 
-	return 0;
-
 free_kvlist:
 	rte_kvargs_free(kvlist);
 	return ret;