From 2033e305852d4b76772885ea73ebfb6776c1f820 Mon Sep 17 00:00:00 2001 From: Mark Andrews Date: Thu, 19 Jul 2001 05:08:03 +0000 Subject: [PATCH] 940. [bug] Double zone locking failure on error path. [RT #1510] --- CHANGES | 1 + lib/dns/zone.c | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 0dbbab96fa..7c4d9cf4eb 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,4 @@ + 940. [bug] Double zone locking failure on error path. [RT #1510] --- 9.2.0b1 released --- diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 119c361912..14f839a5d5 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -15,7 +15,7 @@ * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $Id: zone.c,v 1.330 2001/07/17 02:49:44 marka Exp $ */ +/* $Id: zone.c,v 1.331 2001/07/19 05:08:03 marka Exp $ */ #include @@ -2342,7 +2342,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(¬ify->zone); + if (locked) + zone_idetach(¬ify->zone); + else + dns_zone_idetach(¬ify->zone); } if (notify->find != NULL) dns_adb_destroyfind(¬ify->find);