]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Fix miscelaneous zone object validity checking errors (missing REQUIRE(), out of...
authorOndřej Surý <ondrej@sury.org>
Thu, 26 Sep 2019 07:46:01 +0000 (09:46 +0200)
committerOndřej Surý <ondrej@sury.org>
Wed, 2 Oct 2019 10:41:12 +0000 (12:41 +0200)
lib/dns/zone.c

index f8dd18c5b990a4458c30823e50a5f411f932ea30..e85e39ba280aba1bef347af3f3babb223ed5a1e2 100644 (file)
@@ -212,7 +212,7 @@ struct dns_zone {
        dns_masterformat_t      masterformat;
        const dns_master_style_t *masterstyle;
        char                    *journal;
-       int32_t         journalsize;
+       int32_t                 journalsize;
        dns_rdataclass_t        rdclass;
        dns_zonetype_t          type;
        atomic_uint_fast64_t    flags;
@@ -5465,8 +5465,8 @@ zone_iattach(dns_zone_t *source, dns_zone_t **target) {
        /*
         * 'source' locked by caller.
         */
-       REQUIRE(LOCKED_ZONE(source));
        REQUIRE(DNS_ZONE_VALID(source));
+       REQUIRE(LOCKED_ZONE(source));
        REQUIRE(target != NULL && *target == NULL);
        INSIST(source->irefs + isc_refcount_current(&source->erefs) > 0);
        source->irefs++;
@@ -14208,6 +14208,8 @@ dns_zone_logv(dns_zone_t *zone, isc_logcategory_t *category, int level,
        char message[4096];
        const char *zstr;
 
+       REQUIRE(DNS_ZONE_VALID(zone));
+
        if (!isc_log_wouldlog(dns_lctx, level)) {
                return;
        }
@@ -19888,11 +19890,12 @@ dns_zone_verifydb(dns_zone_t *zone, dns_db_t *db, dns_dbversion_t *ver) {
        dns_name_t *origin;
 
        const char me[] = "dns_zone_verifydb";
-       ENTER;
 
        REQUIRE(DNS_ZONE_VALID(zone));
        REQUIRE(db != NULL);
 
+       ENTER;
+
        if (dns_zone_gettype(zone) != dns_zone_mirror) {
                return (ISC_R_SUCCESS);
        }