From 9ffcc8f16527863dd685e7e8aa4deb01df0d76bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Thu, 3 Oct 2019 10:14:43 +0200 Subject: [PATCH] lib/dns/sdb.c: Fix invalid order of DbC checks that could cause dereference before NULL check --- lib/dns/sdb.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/dns/sdb.c b/lib/dns/sdb.c index ac8872d85b..a62cc946c3 100644 --- a/lib/dns/sdb.c +++ b/lib/dns/sdb.c @@ -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);