devargs: fix variadic parsing memory leak

rte_devargs_parsef will leak memory each time it is called.
The device string must be freed.

Fixes: a23bc2c4e0 ("devargs: add non-variadic parsing function")
Cc: stable@dpdk.org

Signed-off-by: Gaetan Rivet <gaetan.rivet@6wind.com>
This commit is contained in:
Gaetan Rivet 2018-10-17 16:30:13 +02:00 committed by Thomas Monjalon
parent 81bede55e3
commit 97e476ad7c

View File

@ -237,6 +237,7 @@ rte_devargs_parsef(struct rte_devargs *da, const char *format, ...)
va_list ap;
size_t len;
char *dev;
int ret;
if (da == NULL)
return -EINVAL;
@ -255,7 +256,10 @@ rte_devargs_parsef(struct rte_devargs *da, const char *format, ...)
vsnprintf(dev, len + 1, format, ap);
va_end(ap);
return rte_devargs_parse(da, dev);
ret = rte_devargs_parse(da, dev);
free(dev);
return ret;
}
int __rte_experimental