From: Daniel P. Berrange Date: Wed, 15 Dec 2010 14:12:30 +0000 (+0000) Subject: Fix leak of mutex attributes in POSIX threads impl X-Git-Tag: v0.8.8~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dd50c0054c1b1cdc6204f039f1170d42e734fb72;p=thirdparty%2Flibvirt.git Fix leak of mutex attributes in POSIX threads impl * src/util/threads-pthread.c: Fix mutex leak --- 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; }