[dpdk-dev] [PATCH] eal: reset driver name pointer on failure
Emmanuel Roullit
emmanuel.roullit at gmail.com
Tue Jan 24 21:26:56 CET 2017
The pointer set by strdup() needs to be cleared on failure to avoid a
potential double-free from the caller.
Found with clang static analysis:
lib/librte_eal/common/eal_common_devargs.c:123:2:
warning: Attempt to free released memory
free(buf);
^~~~~~~~~
Fixes: 3fe2e5fec82b ("eal: fix argument parsing check")
Signed-off-by: Emmanuel Roullit <emmanuel.roullit at gmail.com>
---
lib/librte_eal/common/eal_common_devargs.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index e403717be..ffa8ad96f 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c
@@ -72,6 +72,7 @@ rte_eal_parse_devargs_str(const char *devargs_str,
if (*drvargs == NULL) {
free(*drvname);
+ *drvname = NULL;
return -1;
}
return 0;
--
2.11.0
More information about the dev
mailing list