From: Mark Andrews Date: Thu, 31 Oct 2013 11:08:12 +0000 (+1100) Subject: 3665. [bug] Failure to release lock on error in receive_secure_db. X-Git-Tag: v9.10.0a1~39 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=37bd255fd499c26aaf474f4294212951b84d9068;p=thirdparty%2Fbind9.git 3665. [bug] Failure to release lock on error in receive_secure_db. [RT #34944] --- diff --git a/CHANGES b/CHANGES index c92f95ae569..76da27d622b 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,6 @@ +3665. [bug] Failure to release lock on error in receive_secure_db. + [RT #34944] + 3664. [bug] Updated OpenSSL PKCS#11 patches to fix active list locking and other bugs. [RT #34855] diff --git a/lib/dns/zone.c b/lib/dns/zone.c index e11964b425e..d7a72117e69 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -13432,7 +13432,7 @@ receive_secure_db(isc_task_t *task, isc_event_t *event) { LOCK_ZONE(zone); if (DNS_ZONE_FLAG(zone, DNS_ZONEFLG_EXITING) || !inline_secure(zone)) { result = ISC_R_SHUTTINGDOWN; - goto unlock; + goto failure; } TIME_NOW(&loadtime); @@ -13513,10 +13513,9 @@ receive_secure_db(isc_task_t *task, isc_event_t *event) { result = zone_postload(zone, db, loadtime, ISC_R_SUCCESS); zone_needdump(zone, 0); /* XXXMPA */ UNLOCK_ZONE(zone->raw); - unlock: - UNLOCK_ZONE(zone); failure: + UNLOCK_ZONE(zone); if (result != ISC_R_SUCCESS) dns_zone_log(zone, ISC_LOG_ERROR, "receive_secure_db: %s", dns_result_totext(result));