]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3002. [bug] isc_mutex_init_errcheck() failed to destroy attr.
authorMark Andrews <marka@isc.org>
Tue, 4 Jan 2011 04:37:17 +0000 (04:37 +0000)
committerMark Andrews <marka@isc.org>
Tue, 4 Jan 2011 04:37:17 +0000 (04:37 +0000)
                        [RT #22766]

CHANGES
lib/isc/pthreads/mutex.c

diff --git a/CHANGES b/CHANGES
index 4195b38e48e65ec36c0ef27f8f9e099e9d061421..46e615725081f3234838558ddff9aa92cf88c140 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3002.  [bug]           isc_mutex_init_errcheck() failed to destroy attr.
+                       [RT #22766]
+
 2996.  [security]      Temporarily disable SO_ACCEPTFILTER support.
                        [RT #22589]
 
index b57d9eee8daa3543f2eab74b7e33ba5708658d03..b5809c9feccf75e5bac506ea5d1d1f00199ea740 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: mutex.c,v 1.16 2008/04/04 23:47:01 tbox Exp $ */
+/* $Id: mutex.c,v 1.16.112.1 2011/01/04 04:37:17 marka Exp $ */
 
 /*! \file */
 
@@ -234,10 +234,13 @@ isc_mutex_init_errcheck(isc_mutex_t *mp)
        if (pthread_mutexattr_init(&attr) != 0)
                return (ISC_R_UNEXPECTED);
 
-       if (pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK) != 0)
+       if (pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK) != 0) {
+               pthread_mutexattr_destroy(&attr);
                return (ISC_R_UNEXPECTED);
+       }
 
        err = pthread_mutex_init(mp, &attr) != 0)
+       pthread_mutexattr_destroy(&attr);
        if (err == ENOMEM)
                return (ISC_R_NOMEMORY);
        return ((err == 0) ? ISC_R_SUCCESS : ISC_R_UNEXPECTED);