]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
lib/dns/sdb.c: Fix invalid order of DbC checks that could cause dereference before...
authorOndřej Surý <ondrej@sury.org>
Thu, 3 Oct 2019 08:14:43 +0000 (10:14 +0200)
committerOndřej Surý <ondrej@sury.org>
Thu, 3 Oct 2019 08:14:43 +0000 (10:14 +0200)
lib/dns/sdb.c

index ac8872d85b9429425223124a870c175f30a8373b..a62cc946c3acf1e18b98eb2e93bde9eac0ccb0fb 100644 (file)
@@ -1136,10 +1136,11 @@ createiterator(dns_db_t *db, unsigned int options, dns_dbiterator_t **iteratorp)
 {
        dns_sdb_t *sdb = (dns_sdb_t *)db;
        sdb_dbiterator_t *sdbiter;
-       dns_sdbimplementation_t *imp = sdb->implementation;
+       dns_sdbimplementation_t *imp;
        isc_result_t result;
 
        REQUIRE(VALID_SDB(sdb));
+       imp = sdb->implementation;
 
        if (imp->methods->allnodes == NULL)
                return (ISC_R_NOTIMPLEMENTED);
@@ -1188,7 +1189,7 @@ findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
        dns_rdatalist_t *list;
        dns_sdbnode_t *sdbnode = (dns_sdbnode_t *)node;
 
-       REQUIRE(VALID_SDBNODE(node));
+       REQUIRE(VALID_SDBNODE(sdbnode));
 
        UNUSED(db);
        UNUSED(version);