From mboxrd@z Thu Jan 1 00:00:00 1970 From: Emmanuel Roullit Subject: [PATCH] eal: reset driver name pointer on failure Date: Tue, 24 Jan 2017 21:26:56 +0100 Message-ID: <20170124202656.792-1-emmanuel.roullit@gmail.com> Cc: dev@dpdk.org, stable@dpdk.org To: david.marchand@6wind.com Return-path: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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