]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
The dns_message_create() cannot fail, change the return to void
authorOndřej Surý <ondrej@sury.org>
Fri, 25 Sep 2020 09:51:36 +0000 (11:51 +0200)
committerOndřej Surý <ondrej@isc.org>
Wed, 30 Sep 2020 12:26:26 +0000 (14:26 +0200)
The dns_message_create() function cannot soft fail (as all memory
allocations either succeed or cause abort), so we change the function to
return void and cleanup the calls.

(cherry picked from commit 33eefe9f8565592c31d1ab086107c83733530f3f)

24 files changed:
bin/dig/dighost.c
bin/nsupdate/nsupdate.c
bin/tests/optional/gsstest.c
bin/tests/optional/sig0_test.c
bin/tests/system/pipelined/pipequeries.c
bin/tests/system/tkey/keycreate.c
bin/tests/system/tkey/keydelete.c
bin/tests/wire_test.c
bin/tools/mdig.c
cocci/dns_message_create.spatch [new file with mode: 0644]
lib/dns/client.c
lib/dns/dnstap.c
lib/dns/include/dns/message.h
lib/dns/message.c
lib/dns/resolver.c
lib/dns/tests/tsig_test.c
lib/dns/xfrin.c
lib/dns/zone.c
lib/ns/client.c
lib/ns/tests/notify_test.c
lib/ns/tests/nstest.c
lib/ns/xfrout.c
lib/samples/nsprobe.c
lib/samples/sample-request.c

index ab18c46d75d7d2c0c7a3d5dea3edcff3a7678c40..f3a8cbc6190c11750ab6b81719a229ddaf4735a4 100644 (file)
@@ -2101,9 +2101,7 @@ setup_lookup(dig_lookup_t *lookup) {
 
        debug("setup_lookup(%p)", lookup);
 
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER,
-                                   &lookup->sendmsg);
-       check_result(result, "dns_message_create");
+       dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &lookup->sendmsg);
 
        if (lookup->new_search) {
                debug("resetting lookup counter.");
@@ -3766,8 +3764,7 @@ recv_done(isc_task_t *task, isc_event_t *event) {
                goto udp_mismatch;
        }
 
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &msg);
-       check_result(result, "dns_message_create");
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &msg);
 
        if (tsigkey != NULL) {
                if (l->querysig == NULL) {
index 413a98a6448a9d6c2432df37add09c47fb7e8c3e..4af130ab4249d98f4b249d3ba0e0a3dd2e147209 100644 (file)
@@ -359,16 +359,12 @@ nsu_strsep(char **stringp, const char *delim) {
 
 static void
 reset_system(void) {
-       isc_result_t result;
-
        ddebug("reset_system()");
        /* If the update message is still around, destroy it */
        if (updatemsg != NULL) {
                dns_message_reset(updatemsg, DNS_MESSAGE_INTENTRENDER);
        } else {
-               result = dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER,
-                                           &updatemsg);
-               check_result(result, "dns_message_create");
+               dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &updatemsg);
        }
        updatemsg->opcode = dns_opcode_update;
        if (usegsstsig) {
@@ -2429,8 +2425,7 @@ update_completed(isc_task_t *task, isc_event_t *event) {
        }
 
        LOCK(&answer_lock);
-       result = dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &answer);
-       check_result(result, "dns_message_create");
+       dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &answer);
        result = dns_request_getresponse(request, answer,
                                         DNS_MESSAGEPARSE_PRESERVEORDER);
        switch (result) {
@@ -2622,8 +2617,7 @@ recvsoa(isc_task_t *task, isc_event_t *event) {
        reqev = NULL;
 
        ddebug("About to create rcvmsg");
-       result = dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg);
-       check_result(result, "dns_message_create");
+       dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg);
        result = dns_request_getresponse(request, rcvmsg,
                                         DNS_MESSAGEPARSE_PRESERVEORDER);
        if (result == DNS_R_TSIGERRORSET && servers != NULL) {
@@ -2993,11 +2987,7 @@ start_gssrequest(dns_name_t *master) {
        keyname->attributes |= DNS_NAMEATTR_NOCOMPRESS;
 
        rmsg = NULL;
-       result = dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &rmsg);
-       if (result != ISC_R_SUCCESS) {
-               fatal("dns_message_create failed: %s",
-                     isc_result_totext(result));
-       }
+       dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &rmsg);
 
        /* Build first request. */
        context = GSS_C_NO_CONTEXT;
@@ -3123,8 +3113,7 @@ recvgss(isc_task_t *task, isc_event_t *event) {
        reqev = NULL;
 
        ddebug("recvgss creating rcvmsg");
-       result = dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg);
-       check_result(result, "dns_message_create");
+       dns_message_create(gmctx, DNS_MESSAGE_INTENTPARSE, &rcvmsg);
 
        result = dns_request_getresponse(request, rcvmsg,
                                         DNS_MESSAGEPARSE_PRESERVEORDER);
@@ -3249,8 +3238,7 @@ start_update(void) {
                return;
        }
 
-       result = dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &soaquery);
-       check_result(result, "dns_message_create");
+       dns_message_create(gmctx, DNS_MESSAGE_INTENTRENDER, &soaquery);
 
        if (default_servers) {
                soaquery->flags |= DNS_MESSAGEFLAG_RD;
index da48b3a0b3b11c8af3167e4d9fdc20f57ca80a60..ef3aedacad3df4e4a8ff8b940ae58bdb2ebf3b7c 100644 (file)
@@ -140,8 +140,7 @@ recvresponse(isc_task_t *task, isc_event_t *event) {
        }
 
        response = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
 
        printf("\nReceived Response:\n");
 
@@ -206,10 +205,7 @@ sendquery(isc_task_t *task, isc_event_t *event) {
                                   dns_rootname, 0, NULL);
        CHECK("dns_name_fromtext", result);
 
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
-       if (result != ISC_R_SUCCESS) {
-               goto end;
-       }
+       dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
 
        message->opcode = dns_opcode_query;
        message->rdclass = dns_rdataclass_in;
@@ -283,8 +279,7 @@ initctx2(isc_task_t *task, isc_event_t *event) {
        }
 
        response = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
 
        result = dns_request_getresponse(reqev->request, response,
                                         DNS_MESSAGEPARSE_PRESERVEORDER);
@@ -386,8 +381,7 @@ initctx1(isc_task_t *task, isc_event_t *event) {
        CHECK("dns_name_fromtext", result);
 
        query = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
 
        printf("Calling gss_init_sec_context()\n");
        gssctx = GSS_C_NO_CONTEXT;
index 494b42c4c1d311395bf5c2aa9d54e879a10c5ebd..ac7dd860fc56f09802d04b2b6095fd642174d090 100644 (file)
@@ -100,8 +100,7 @@ recvdone(isc_task_t *task, isc_event_t *event) {
        isc_buffer_add(&source, sevent->n);
 
        response = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
        result = dns_message_parse(response, &source, 0);
        CHECK("dns_message_parse", result);
 
@@ -131,8 +130,7 @@ buildquery(void) {
        dns_compress_t cctx;
 
        query = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
        result = dns_message_setsig0key(query, key);
        CHECK("dns_message_setsig0key", result);
 
index 7bafdc66b044b14e54288b53ba8e232e7dc6a5d6..38335a148e4ee723a65f44bd2db09433a47ae297 100644 (file)
@@ -87,8 +87,7 @@ recvresponse(isc_task_t *task, isc_event_t *event) {
        query = reqev->ev_arg;
 
        response = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
 
        result = dns_request_getresponse(reqev->request, response,
                                         DNS_MESSAGEPARSE_PRESERVEORDER);
@@ -152,8 +151,7 @@ sendquery(isc_task_t *task) {
        CHECK("dns_name_fromtext", result);
 
        message = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
 
        message->opcode = dns_opcode_query;
        message->flags |= DNS_MESSAGEFLAG_RD;
index d6f50d573cbf26830c4dd79f19a4cc06684d9065..4972d0c59415bb417a75ceddf69ae8001145169e 100644 (file)
@@ -86,8 +86,7 @@ recvquery(isc_task_t *task, isc_event_t *event) {
        query = reqev->ev_arg;
 
        response = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
 
        result = dns_request_getresponse(reqev->request, response,
                                         DNS_MESSAGEPARSE_PRESERVEORDER);
@@ -174,8 +173,7 @@ sendquery(isc_task_t *task, isc_event_t *event) {
        CHECK("dns_tsigkey_create", result);
 
        query = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
 
        result = dns_tkey_builddhquery(query, ourkey,
                                       dns_fixedname_name(&ownername),
index 2d13f1a68b104ec5974e62e29df5391dbfa00781..33b74912ddfd11d14e00621710cfd3ee204b5017 100644 (file)
@@ -78,8 +78,7 @@ recvquery(isc_task_t *task, isc_event_t *event) {
        query = reqev->ev_arg;
 
        response = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
 
        result = dns_request_getresponse(reqev->request, response,
                                         DNS_MESSAGEPARSE_PRESERVEORDER);
@@ -120,8 +119,7 @@ sendquery(isc_task_t *task, isc_event_t *event) {
        isc_sockaddr_fromin(&address, &inaddr, PORT);
 
        query = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &query);
 
        result = dns_tkey_builddeletequery(query, tsigkey);
        CHECK("dns_tkey_builddeletequery", result);
index f420d8992cbe9580c800b281faaea570db180245..107f2cc7a1b0badf176b8fa6d9906db8a2a956b5 100644 (file)
@@ -277,8 +277,7 @@ process_message(isc_buffer_t *source) {
        int i;
 
        message = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
-       CHECKRESULT(result, "dns_message_create failed");
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
 
        result = dns_message_parse(message, source, parseflags);
        if (result == DNS_R_RECOVERABLE) {
@@ -348,9 +347,7 @@ process_message(isc_buffer_t *source) {
                        isc_mem_stats(mctx, stdout);
                }
 
-               result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE,
-                                           &message);
-               CHECKRESULT(result, "dns_message_create failed");
+               dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
 
                result = dns_message_parse(message, &buffer, parseflags);
                CHECKRESULT(result, "dns_message_parse failed");
index 2e78a27af60308a7e3c6b41529cc5a20b7e7cfaf..ba677ee25e0055aa9a184cc50ff5ac447b5b8814 100644 (file)
@@ -209,8 +209,7 @@ recvresponse(isc_task_t *task, isc_event_t *event) {
                }
        }
 
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &response);
 
        parseflags |= DNS_MESSAGEPARSE_PRESERVEORDER;
        if (besteffort) {
@@ -593,8 +592,7 @@ sendquery(struct query *query, isc_task_t *task) {
        CHECK("dns_name_fromtext", result);
 
        message = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
-       CHECK("dns_message_create", result);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
 
        message->opcode = dns_opcode_query;
        if (query->recurse) {
diff --git a/cocci/dns_message_create.spatch b/cocci/dns_message_create.spatch
new file mode 100644 (file)
index 0000000..bab6d58
--- /dev/null
@@ -0,0 +1,84 @@
+@@
+statement S;
+expression V;
+@@
+
+- V =
+  dns_message_create(...);
+- if (V != ISC_R_SUCCESS) S
+
+@@
+statement S1, S2;
+expression V;
+@@
+
+- V =
+  dns_message_create(...);
+- if (V == ISC_R_SUCCESS)
+  S1
+- else S2
+
+@@
+expression V;
+@@
+
+- V =
+  dns_message_create(...);
+- check_result(V, ...);
+
+@@
+@@
+
+- CHECK(
+  dns_message_create(...)
+- )
+  ;
+
+@@
+@@
+
+- DO(...,
+  dns_message_create(...)
+- )
+  ;
+
+@@
+@@
+
+- RETERR(
+  dns_message_create(...)
+- )
+  ;
+
+@@
+expression V;
+@@
+
+- V =
+  dns_message_create(...);
+- assert_int_equal(V, ISC_R_SUCCESS);
+
+@@
+expression V;
+@@
+
+- V =
+  dns_message_create(...);
+- CHECK(..., V);
+
+@@
+expression V;
+statement S;
+@@
+
+- V =
+  dns_message_create(...);
+- if (ISC_UNLIKELY(V != ISC_R_SUCCESS)) S
+
+@@
+expression V;
+@@
+
+- V =
+  dns_message_create(...);
+- RUNTIME_CHECK(V == ISC_R_SUCCESS);
index cab6a373be493aecbddb3efc33d515ed04f016de..b16bb76a67cda79d50809f977b30e48d6b2ca67d 100644 (file)
@@ -1945,11 +1945,7 @@ update_done(isc_task_t *task, isc_event_t *event) {
                goto out;
        }
 
-       result = dns_message_create(client->mctx, DNS_MESSAGE_INTENTPARSE,
-                                   &answer);
-       if (result != ISC_R_SUCCESS) {
-               goto out;
-       }
+       dns_message_create(client->mctx, DNS_MESSAGE_INTENTPARSE, &answer);
        uctx->state = dns_clientupdatestate_done;
        result = dns_request_getresponse(request, answer,
                                         DNS_MESSAGEPARSE_PRESERVEORDER);
@@ -2279,11 +2275,8 @@ receive_soa(isc_task_t *task, isc_event_t *event) {
                goto out;
        }
 
-       result = dns_message_create(uctx->client->mctx, DNS_MESSAGE_INTENTPARSE,
-                                   &rcvmsg);
-       if (result != ISC_R_SUCCESS) {
-               goto out;
-       }
+       dns_message_create(uctx->client->mctx, DNS_MESSAGE_INTENTPARSE,
+                          &rcvmsg);
        result = dns_request_getresponse(request, rcvmsg,
                                         DNS_MESSAGEPARSE_PRESERVEORDER);
 
@@ -2430,12 +2423,8 @@ request_soa(updatectx_t *uctx) {
        unsigned int reqoptions;
 
        if (soaquery == NULL) {
-               result = dns_message_create(uctx->client->mctx,
-                                           DNS_MESSAGE_INTENTRENDER,
-                                           &soaquery);
-               if (result != ISC_R_SUCCESS) {
-                       return (result);
-               }
+               dns_message_create(uctx->client->mctx, DNS_MESSAGE_INTENTRENDER,
+                                  &soaquery);
        }
        soaquery->flags |= DNS_MESSAGEFLAG_RD;
        result = dns_message_gettempname(soaquery, &name);
@@ -2887,11 +2876,8 @@ dns_client_startupdate(dns_client_t *client, dns_rdataclass_t rdclass,
        }
 
        /* Make update message */
-       result = dns_message_create(client->mctx, DNS_MESSAGE_INTENTRENDER,
-                                   &uctx->updatemsg);
-       if (result != ISC_R_SUCCESS) {
-               goto fail;
-       }
+       dns_message_create(client->mctx, DNS_MESSAGE_INTENTRENDER,
+                          &uctx->updatemsg);
        uctx->updatemsg->opcode = dns_opcode_update;
 
        if (prerequisites != NULL) {
index b730c6e6b6a84232555aace376015480264eb2ba..00f69b2ea86097dffe31659c892534ef53c66104 100644 (file)
@@ -1143,7 +1143,7 @@ dns_dt_parse(isc_mem_t *mctx, isc_region_t *src, dns_dtdata_t **destp) {
 
        isc_buffer_init(&b, d->msgdata.base, d->msgdata.length);
        isc_buffer_add(&b, d->msgdata.length);
-       CHECK(dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &d->msg));
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &d->msg);
        result = dns_message_parse(d->msg, &b, 0);
        if (result != ISC_R_SUCCESS) {
                if (result != DNS_R_RECOVERABLE) {
index ee79ecf6f653521ccd981c698ff0b3830b6c7c62..f1927863bf176225b73697761c916e9772499354 100644 (file)
@@ -9,8 +9,7 @@
  * information regarding copyright ownership.
  */
 
-#ifndef DNS_MESSAGE_H
-#define DNS_MESSAGE_H 1
+#pragma once
 
 /***
  ***   Imports
@@ -295,7 +294,7 @@ struct dns_ednsopt {
 
 ISC_LANG_BEGINDECLS
 
-isc_result_t
+void
 dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp);
 
 /*%<
@@ -1506,5 +1505,3 @@ dns_message_clonebuffer(dns_message_t *msg);
  */
 
 ISC_LANG_ENDDECLS
-
-#endif /* DNS_MESSAGE_H */
index b8fd4dee937b576aa2b793e2527f50cc13744ae3..03b723045f5a445b0b4b051b938b76ba5f49fa07 100644 (file)
@@ -714,7 +714,7 @@ spacefortsig(dns_tsigkey_t *key, int otherlen) {
        return (26 + r1.length + r2.length + x + otherlen);
 }
 
-isc_result_t
+void
 dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp) {
        dns_message_t *m;
        isc_buffer_t *dynbuf;
@@ -728,11 +728,6 @@ dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp) {
 
        m = isc_mem_get(mctx, sizeof(dns_message_t));
 
-       /*
-        * No allocations until further notice.  Just initialize all lists
-        * and other members that are freed in the cleanup phase here.
-        */
-
        m->magic = DNS_MESSAGE_MAGIC;
        m->from_to_wire = intent;
        msginit(m);
@@ -754,10 +749,6 @@ dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp) {
        ISC_LIST_INIT(m->freerdata);
        ISC_LIST_INIT(m->freerdatalist);
 
-       /*
-        * Ok, it is safe to allocate (and then "goto cleanup" if failure)
-        */
-
        isc_mempool_create(m->mctx, sizeof(dns_name_t), &m->namepool);
        isc_mempool_setfillcount(m->namepool, NAME_COUNT);
        isc_mempool_setfreemax(m->namepool, NAME_COUNT);
@@ -777,7 +768,6 @@ dns_message_create(isc_mem_t *mctx, unsigned int intent, dns_message_t **msgp) {
        isc_refcount_init(&m->refcount, 1);
 
        *msgp = m;
-       return (ISC_R_SUCCESS);
 }
 
 void
index 86e9d4d2a3d679709127d7a2d2d205973aa467e5..b6d59a6bbf1b466026c63e38c40412c05bd0c010 100644 (file)
@@ -2050,8 +2050,8 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo,
 
        query = isc_mem_get(fctx->mctx, sizeof(*query));
        query->rmessage = NULL;
-       result = dns_message_create(fctx->mctx, DNS_MESSAGE_INTENTPARSE,
-                                   &query->rmessage);
+       dns_message_create(fctx->mctx, DNS_MESSAGE_INTENTPARSE,
+                          &query->rmessage);
        query->mctx = fctx->mctx;
        query->options = options;
        query->attributes = 0;
@@ -5142,12 +5142,7 @@ fctx_create(dns_resolver_t *res, const dns_name_t *name, dns_rdatatype_t type,
        }
 
        fctx->qmessage = NULL;
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER,
-                                   &fctx->qmessage);
-
-       if (result != ISC_R_SUCCESS) {
-               goto cleanup_fcount;
-       }
+       dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &fctx->qmessage);
 
        /*
         * Compute an expiration time for the entire fetch.
index 85821b1258266ef5f627ae7857d3ad8281188b49..e5bae9864b6c45dd8d8aba99499da5720e12d751 100644 (file)
@@ -209,8 +209,7 @@ render(isc_buffer_t *buf, unsigned flags, dns_tsigkey_t *key,
        dns_compress_t cctx;
        isc_result_t result;
 
-       result = dns_message_create(dt_mctx, DNS_MESSAGE_INTENTRENDER, &msg);
-       assert_int_equal(result, ISC_R_SUCCESS);
+       dns_message_create(dt_mctx, DNS_MESSAGE_INTENTRENDER, &msg);
        assert_non_null(msg);
 
        msg->id = 50;
@@ -322,8 +321,7 @@ tsig_tcp_test(void **state) {
        /*
         * Process response message 1.
         */
-       result = dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
-       assert_int_equal(result, ISC_R_SUCCESS);
+       dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
        assert_non_null(msg);
 
        result = dns_message_settsigkey(msg, key);
@@ -377,8 +375,7 @@ tsig_tcp_test(void **state) {
        /*
         * Process response message 2.
         */
-       result = dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
-       assert_int_equal(result, ISC_R_SUCCESS);
+       dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
        assert_non_null(msg);
 
        msg->tcp_continuation = 1;
@@ -424,8 +421,7 @@ tsig_tcp_test(void **state) {
        /*
         * Process response message 3.
         */
-       result = dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
-       assert_int_equal(result, ISC_R_SUCCESS);
+       dns_message_create(dt_mctx, DNS_MESSAGE_INTENTPARSE, &msg);
        assert_non_null(msg);
 
        msg->tcp_continuation = 1;
index 7bd68bfae0ade0d77b03a03fee32d449b4ab0359..a46b3d9b745a46c3e06a01312477f2a6ca39a6b3 100644 (file)
@@ -1110,7 +1110,7 @@ xfrin_send_request(dns_xfrin_ctx_t *xfr) {
        dns_name_t *msgsoaname = NULL;
 
        /* Create the request message */
-       CHECK(dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTRENDER, &msg));
+       dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTRENDER, &msg);
        CHECK(dns_message_settsigkey(msg, xfr->tsigkey));
 
        /* Create a name for the question section. */
@@ -1262,7 +1262,7 @@ xfrin_recv_done(isc_task_t *task, isc_event_t *ev) {
 
        CHECK(isc_timer_touch(xfr->timer));
 
-       CHECK(dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTPARSE, &msg));
+       dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
 
        CHECK(dns_message_settsigkey(msg, xfr->tsigkey));
        CHECK(dns_message_setquerytsig(msg, xfr->lasttsig));
index d53a0097200ea3c57689a99e43fe3d1170d5ee72..078f95bd75c3d29592790153ab570c6ff1d12faa 100644 (file)
@@ -12598,10 +12598,7 @@ stub_callback(isc_task_t *task, isc_event_t *event) {
                goto next_master;
        }
 
-       result = dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
-       if (result != ISC_R_SUCCESS) {
-               goto next_master;
-       }
+       dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
 
        result = dns_request_getresponse(revent->request, msg, 0);
        if (result != ISC_R_SUCCESS) {
@@ -13003,10 +13000,7 @@ refresh_callback(isc_task_t *task, isc_event_t *event) {
                goto next_master;
        }
 
-       result = dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
-       if (result != ISC_R_SUCCESS) {
-               goto next_master;
-       }
+       dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
        result = dns_request_getresponse(revent->request, msg, 0);
        if (result != ISC_R_SUCCESS) {
                dns_zone_log(zone, ISC_LOG_INFO,
@@ -13389,11 +13383,7 @@ create_query(dns_zone_t *zone, dns_rdatatype_t rdtype,
        dns_rdataset_t *qrdataset = NULL;
        isc_result_t result;
 
-       result = dns_message_create(zone->mctx, DNS_MESSAGE_INTENTRENDER,
-                                   &message);
-       if (result != ISC_R_SUCCESS) {
-               goto cleanup;
-       }
+       dns_message_create(zone->mctx, DNS_MESSAGE_INTENTRENDER, &message);
 
        message->opcode = dns_opcode_query;
        message->rdclass = zone->rdclass;
@@ -14272,11 +14262,7 @@ notify_createmessage(dns_zone_t *zone, unsigned int flags,
        REQUIRE(DNS_ZONE_VALID(zone));
        REQUIRE(messagep != NULL && *messagep == NULL);
 
-       result = dns_message_create(zone->mctx, DNS_MESSAGE_INTENTRENDER,
-                                   &message);
-       if (result != ISC_R_SUCCESS) {
-               return (result);
-       }
+       dns_message_create(zone->mctx, DNS_MESSAGE_INTENTRENDER, &message);
 
        message->opcode = dns_opcode_notify;
        message->flags |= DNS_MESSAGEFLAG_AA;
@@ -15204,12 +15190,10 @@ notify_done(isc_task_t *task, isc_event_t *event) {
 
        isc_buffer_init(&buf, rcode, sizeof(rcode));
        isc_sockaddr_format(&notify->dst, addrbuf, sizeof(addrbuf));
+       dns_message_create(notify->zone->mctx, DNS_MESSAGE_INTENTPARSE,
+                          &message);
 
        result = revent->result;
-       if (result == ISC_R_SUCCESS) {
-               result = dns_message_create(notify->zone->mctx,
-                                           DNS_MESSAGE_INTENTPARSE, &message);
-       }
        if (result == ISC_R_SUCCESS) {
                result =
                        dns_request_getresponse(revent->request, message,
@@ -15233,7 +15217,7 @@ notify_done(isc_task_t *task, isc_event_t *event) {
         * the soa if we see a formerr and had sent a SOA.
         */
        isc_event_free(&event);
-       if (message != NULL && message->rcode == dns_rcode_formerr &&
+       if (message->rcode == dns_rcode_formerr &&
            (notify->flags & DNS_NOTIFY_NOSOA) == 0)
        {
                bool startup;
@@ -15252,9 +15236,7 @@ notify_done(isc_task_t *task, isc_event_t *event) {
                }
                notify_destroy(notify, false);
        }
-       if (message != NULL) {
-               dns_message_detach(&message);
-       }
+       dns_message_detach(&message);
 }
 
 struct secure_event {
@@ -17218,10 +17200,7 @@ forward_callback(isc_task_t *task, isc_event_t *event) {
                goto next_master;
        }
 
-       result = dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
-       if (result != ISC_R_SUCCESS) {
-               goto next_master;
-       }
+       dns_message_create(zone->mctx, DNS_MESSAGE_INTENTPARSE, &msg);
 
        result = dns_request_getresponse(revent->request, msg,
                                         DNS_MESSAGEPARSE_PRESERVEORDER |
index f8f6fe36a2cf9e7c9727a950e52cf3ed0a3aaa39..3c429118fd66a8bf1be9bd18295c946668b35f13 100644 (file)
@@ -2275,12 +2275,8 @@ ns__client_setup(ns_client_t *client, ns_clientmgr_t *mgr, bool new) {
                ns_server_attach(mgr->sctx, &client->sctx);
                get_clienttask(mgr, &client->task);
 
-               result = dns_message_create(client->mctx,
-                                           DNS_MESSAGE_INTENTPARSE,
-                                           &client->message);
-               if (result != ISC_R_SUCCESS) {
-                       goto cleanup;
-               }
+               dns_message_create(client->mctx, DNS_MESSAGE_INTENTPARSE,
+                                  &client->message);
 
                client->sendbuf = isc_mem_get(client->mctx,
                                              NS_CLIENT_SEND_BUFFER_SIZE);
index 4a1576afdfff71c061446537c3b78c97b644d18d..fef7ad9838290433e55fafb22eb37c8eb572a0cd 100644 (file)
@@ -67,8 +67,7 @@ check_response(isc_buffer_t *buf) {
        char rcodebuf[20];
        isc_buffer_t b;
 
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
-       assert_int_equal(result, ISC_R_SUCCESS);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &message);
 
        result = dns_message_parse(message, buf, 0);
        assert_int_equal(result, ISC_R_SUCCESS);
@@ -115,8 +114,7 @@ notify_start(void **state) {
        isc_buffer_init(&nbuf, ndata, nsize);
        isc_buffer_add(&nbuf, nsize);
 
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &nmsg);
-       assert_int_equal(result, ISC_R_SUCCESS);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &nmsg);
 
        result = dns_message_parse(nmsg, &nbuf, 0);
        assert_int_equal(result, ISC_R_SUCCESS);
index 1a429c8f38caa5b6a7baa5c8e4dc05fe71e038d4..6e58b9377ca5f238294285bcbe1a903802336cf6 100644 (file)
@@ -601,10 +601,7 @@ attach_query_msg_to_client(ns_client_t *client, const char *qnamestr,
        /*
         * Create a new DNS message holding a query.
         */
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
-       if (result != ISC_R_SUCCESS) {
-               return (result);
-       }
+       dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &message);
 
        /*
         * Set query ID to a random value.
index 6195f2a62129c5fa762dd6cebbb1ebaeb08b59f1..363e25aa0aaea89eecb020640bc997b49467f866 100644 (file)
@@ -1309,8 +1309,8 @@ sendstream(xfrout_ctx_t *xfr) {
                 * message.
                 */
 
-               CHECK(dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTRENDER,
-                                        &tcpmsg));
+               dns_message_create(xfr->mctx, DNS_MESSAGE_INTENTRENDER,
+                                  &tcpmsg);
                msg = tcpmsg;
 
                msg->id = xfr->id;
index 26b7a723bec462a17dc82623e21a62594bbe0857..bf821447708d1069c760e5cb28f8dd19df7cfbdd 100644 (file)
@@ -1169,17 +1169,10 @@ main(int argc, char *argv[]) {
                probes[i].reqid = NULL;
 
                probes[i].qmessage = NULL;
-               result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER,
-                                           &probes[i].qmessage);
-               if (result == ISC_R_SUCCESS) {
-                       result = dns_message_create(mctx,
-                                                   DNS_MESSAGE_INTENTPARSE,
-                                                   &probes[i].rmessage);
-               }
-               if (result != ISC_R_SUCCESS) {
-                       fprintf(stderr, "initialization failure\n");
-                       exit(1);
-               }
+               dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER,
+                                  &probes[i].qmessage);
+               dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE,
+                                  &probes[i].rmessage);
        }
        for (i = 0; i < MAX_PROBES; i++) {
                result = probe_domain(&probes[i]);
index 165219d04d73f2d2d28c1f315546546d1d97f29f..c02b28c1e2a359203b22cc2b7a3d0615ec19ef5e 100644 (file)
@@ -190,15 +190,8 @@ main(int argc, char *argv[]) {
        rmessage = NULL;
 
        isc_mem_create(&mctx);
-       result = dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &qmessage);
-       if (result == ISC_R_SUCCESS) {
-               result = dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE,
-                                           &rmessage);
-       }
-       if (result != ISC_R_SUCCESS) {
-               fprintf(stderr, "failed to create messages\n");
-               exit(1);
-       }
+       dns_message_create(mctx, DNS_MESSAGE_INTENTRENDER, &qmessage);
+       dns_message_create(mctx, DNS_MESSAGE_INTENTPARSE, &rmessage);
 
        /* Initialize the nameserver address */
        memset(&hints, 0, sizeof(hints));