]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
3665. [bug] Failure to release lock on error in receive_secure_db.
authorMark Andrews <marka@isc.org>
Thu, 31 Oct 2013 11:08:12 +0000 (22:08 +1100)
committerMark Andrews <marka@isc.org>
Thu, 31 Oct 2013 11:15:12 +0000 (22:15 +1100)
                        [RT #34944]

CHANGES
lib/dns/zone.c

diff --git a/CHANGES b/CHANGES
index c92f95ae56920768def0fc6705d2b293b0e7438a..76da27d622b4bbd2ee56ed96af3eabb20f93277b 100644 (file)
--- 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]
 
index e11964b425ed2772a124414e5a0b7345aa801f96..d7a72117e6901d47264a35038de95a25fd64d41e 100644 (file)
@@ -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));