]> 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:50:27 +0000 (09:50 +0200)
(cherry picked from commit d1f035bbba57df40407a8c1dfbebc15cf42eccf3)

lib/ns/query.c

index c46864c48bccb3e80ba691ed25c7bebc68fee123..9f18723c6e4689da031497484fcedf096a8118ec 100644 (file)
@@ -10937,15 +10937,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");
 
        /*