]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
940. [bug] Double zone locking failure on error path. [RT #1510]
authorAndreas Gustafsson <source@isc.org>
Thu, 19 Jul 2001 17:11:33 +0000 (17:11 +0000)
committerAndreas Gustafsson <source@isc.org>
Thu, 19 Jul 2001 17:11:33 +0000 (17:11 +0000)
CHANGES
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index 3ded2ddd05e006c7caf31aafeb006ea5214d7497..c058154541486320c4bfdc3b3330f7ba4cd622b1 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,6 @@
 
+ 940.  [bug]           Double zone locking failure on error path. [RT #1510]
+
  937.  [bug]           A race when shutting down a zone could trigger a
                        INSIST() failure. [RT #1034]
 
index 97b88bcb0779005befb4cdfb16eb5603c1fc7fbf..b2c406f23498d98c4ad0f7f6001a0e842c02cc9e 100644 (file)
@@ -15,7 +15,7 @@
  * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-/* $Id: zone.c,v 1.283.2.15 2001/07/18 18:07:04 gson Exp $ */
+/* $Id: zone.c,v 1.283.2.16 2001/07/19 17:11:33 gson Exp $ */
 
 #include <config.h>
 
@@ -2254,7 +2254,10 @@ notify_destroy(dns_notify_t *notify, isc_boolean_t locked) {
                        ISC_LIST_UNLINK(notify->zone->notifies, notify, link);
                if (!locked)
                        UNLOCK_ZONE(notify->zone);
-               dns_zone_idetach(&notify->zone);
+               if (locked)
+                       zone_idetach(&notify->zone);
+               else
+                       dns_zone_idetach(&notify->zone);
        }
        if (notify->find != NULL)
                dns_adb_destroyfind(&notify->find);