]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3190. [bug] Underflow in error handling in isc_mutexblock_init.
authorMark Andrews <marka@isc.org>
Tue, 1 Nov 2011 21:59:56 +0000 (21:59 +0000)
committerMark Andrews <marka@isc.org>
Tue, 1 Nov 2011 21:59:56 +0000 (21:59 +0000)
                        [RT #26397]

CHANGES
lib/isc/mutexblock.c

diff --git a/CHANGES b/CHANGES
index af3a669dd26a7f41575bdc7204c523acd9a2f3bb..21c75e38af7e89cfdc71a9d43ea434db4bc2e056 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+3190.  [bug]           Underflow in error handling in isc_mutexblock_init.
+                       [RT #26397]
+
 3189.  [test]          Added a summary report after system tests. [RT #25517]
                        
 3188.  [bug]           zone.c:zone_refreshkeys() could fail to detach
index d45ad0e1e485abf24b956a3e34014bf10398f8fa..0166f6c6e578990c6d8a93272df90a42668b3075 100644 (file)
@@ -15,7 +15,7 @@
  * PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: mutexblock.c,v 1.20 2007/06/19 23:47:17 tbox Exp $ */
+/* $Id: mutexblock.c,v 1.21 2011/11/01 21:59:56 marka Exp $ */
 
 /*! \file */
 
@@ -32,10 +32,9 @@ isc_mutexblock_init(isc_mutex_t *block, unsigned int count) {
        for (i = 0; i < count; i++) {
                result = isc_mutex_init(&block[i]);
                if (result != ISC_R_SUCCESS) {
-                       i--;
-                       while (i > 0) {
-                               DESTROYLOCK(&block[i]);
+                       while (i > 0U) {
                                i--;
+                               DESTROYLOCK(&block[i]);
                        }
                        return (result);
                }