]> 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 22:05:38 +0000 (22:05 +0000)
committerMark Andrews <marka@isc.org>
Tue, 1 Nov 2011 22:05:38 +0000 (22:05 +0000)
                        [RT #26397]

CHANGES
lib/isc/mutexblock.c

diff --git a/CHANGES b/CHANGES
index 79f5d3898f342e360ece0090a097ffd539521905..0e2d0093d86982f4203e243e26dd16b308006367 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]
 
 3187.  [port]          win32: support for Visual Studio 2008.  [RT #26356]
index d45ad0e1e485abf24b956a3e34014bf10398f8fa..1c5ed93148aca426b26b0c665e5e7c0e04312d84 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.20.332.1 2011/11/01 22:05:38 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);
                }