]> xenbits.xensource.com Git - libvirt.git/commitdiff
Fix leak of mutex attributes in POSIX threads impl
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 15 Dec 2010 14:12:30 +0000 (14:12 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 15 Feb 2011 11:42:32 +0000 (11:42 +0000)
* src/util/threads-pthread.c: Fix mutex leak

src/util/threads-pthread.c

index ea71589bc4c9b6c9479ecee0ad4f89fce3352c38..f812045a746bb72ee20a0512e80f9484c960ca49 100644 (file)
@@ -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;
     }