]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
lib/ns/query.c: Fix invalid order of DbC checks that could cause dereference before...
authorOndřej Surý <ondrej@sury.org>
Fri, 27 Sep 2019 10:12:14 +0000 (12:12 +0200)
committerOndřej Surý <ondrej@sury.org>
Thu, 3 Oct 2019 07:04:27 +0000 (09:04 +0200)
lib/ns/query.c

index 10e7af37f9665db91d3d35a0d921d31400c5f1c9..4e43b1d92c9c0a2722f2cb146bc0abb16c84383f 100644 (file)
@@ -10930,15 +10930,19 @@ log_queryerror(ns_client_t *client, isc_result_t result, int line, int level) {
 void
 ns_query_start(ns_client_t *client) {
        isc_result_t result;
-       dns_message_t *message = client->message;
+       dns_message_t *message;
        dns_rdataset_t *rdataset;
        ns_client_t *qclient;
        dns_rdatatype_t qtype;
-       unsigned int saved_extflags = client->extflags;
-       unsigned int saved_flags = client->message->flags;
+       unsigned int saved_extflags;
+       unsigned int saved_flags;
 
        REQUIRE(NS_CLIENT_VALID(client));
 
+       message = client->message;
+       saved_extflags = client->extflags;
+       saved_flags = client->message->flags;
+
        CTRACE(ISC_LOG_DEBUG(3), "ns_query_start");
 
        /*