[dpdk-dev] [PATCH] eal: fix memory leak

Jianfeng Tan jianfeng.tan at intel.com
Wed May 2 12:26:32 CEST 2018


params is not freed if pthread_create() fails. The fix is
straight-forward.

Fixes: 3d09a6e26d8b ("eal: fix threads block on barrier")

Reported-by: Olivier Matz <olivier.matz at 6wind.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan at intel.com>
---
 lib/librte_eal/common/eal_common_thread.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/librte_eal/common/eal_common_thread.c b/lib/librte_eal/common/eal_common_thread.c
index 5f0c61f..c18a112 100644
--- a/lib/librte_eal/common/eal_common_thread.c
+++ b/lib/librte_eal/common/eal_common_thread.c
@@ -183,8 +183,10 @@ rte_ctrl_thread_create(pthread_t *thread, const char *name,
 	pthread_barrier_init(&params->configured, NULL, 2);
 
 	ret = pthread_create(thread, attr, rte_thread_init, (void *)params);
-	if (ret != 0)
+	if (ret != 0) {
+		free(params);
 		return ret;
+	}
 
 	if (name != NULL) {
 		ret = rte_thread_setname(*thread, name);
-- 
2.7.4



More information about the dev mailing list