devargs: reset driver name pointer on parsing failure

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: 0fe11ec592b2 ("eal: add vdev init and uninit")

Signed-off-by: Emmanuel Roullit <emmanuel.roullit@gmail.com>
This commit is contained in:
Emmanuel Roullit 2017-01-24 21:26:56 +01:00 committed by Thomas Monjalon
parent ec7df18bb7
commit 3cdfdf2a33

View File

@ -72,6 +72,7 @@ rte_eal_parse_devargs_str(const char *devargs_str,
if (*drvargs == NULL) {
free(*drvname);
*drvname = NULL;
return -1;
}
return 0;