From dd50c0054c1b1cdc6204f039f1170d42e734fb72 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Wed, 15 Dec 2010 14:12:30 +0000 Subject: [PATCH] Fix leak of mutex attributes in POSIX threads impl * src/util/threads-pthread.c: Fix mutex leak --- src/util/threads-pthread.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/util/threads-pthread.c b/src/util/threads-pthread.c index ea71589bc4..f812045a74 100644 --- a/src/util/threads-pthread.c +++ b/src/util/threads-pthread.c @@ -47,7 +47,9 @@ int virMutexInit(virMutexPtr m) pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL); - if ((ret = pthread_mutex_init(&m->lock, &attr)) != 0) { + ret = pthread_mutex_init(&m->lock, &attr); + pthread_mutexattr_destroy(&attr); + if (ret != 0) { errno = ret; return -1; } @@ -60,7 +62,9 @@ int virMutexInitRecursive(virMutexPtr m) pthread_mutexattr_t attr; pthread_mutexattr_init(&attr); pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); - if ((ret = pthread_mutex_init(&m->lock, &attr)) != 0) { + ret = pthread_mutex_init(&m->lock, &attr); + pthread_mutexattr_destroy(&attr); + if (ret != 0) { errno = ret; return -1; } -- 2.47.2