[dpdk-dev] [PATCH v1 2/7] devargs: fix memory leak on parsing error
From: Xueming Li <hidden>
Date: 2021-01-08 14:55:25
Subsystem:
library code, the rest · Maintainers:
Andrew Morton, Linus Torvalds
From: Xueming Li <hidden>
Date: 2021-01-08 14:55:25
Subsystem:
library code, the rest · Maintainers:
Andrew Morton, Linus Torvalds
This patch fixes memory leak in parsing error handling.
Fixes: 338327d731e6 ("devargs: add function to parse device layers")
Cc: gaetan.rivet@6wind.com
Cc: stable@dpdk.org
Signed-off-by: Xueming Li <redacted>
---
lib/librte_eal/common/eal_common_devargs.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c
index fcf3d9a3cc..f36f71fbce 100644
--- a/lib/librte_eal/common/eal_common_devargs.c
+++ b/lib/librte_eal/common/eal_common_devargs.c@@ -163,6 +163,11 @@ rte_devargs_layers_parse(struct rte_devargs *devargs, if (layers[i].kvlist) rte_kvargs_free(layers[i].kvlist); } + if (ret && devargs->data && devargs->data != devstr) { + /* Free duplicated data. */ + free(devargs->data); + devargs->data = NULL; + } if (ret != 0) rte_errno = -ret; return ret;
--
2.25.1