]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
cocci: Add semantic patch to refactor dns_message_destroy()
authorDiego Fronza <diego@isc.org>
Mon, 21 Sep 2020 21:19:49 +0000 (18:19 -0300)
committerMark Andrews <marka@isc.org>
Wed, 30 Sep 2020 01:35:23 +0000 (11:35 +1000)
dns_message_t objects are now being handled using reference counting
semantics, so now dns_message_destroy() is not called directly anymore,
dns_message_detach must be called instead.

(cherry picked from commit 7deaf9a93cba04460cacf453279ee87f0dc6d8cb)

bin/tests/optional/gsstest.c
bin/tests/optional/sig0_test.c
cocci/dns_message_destroy.spatch [new file with mode: 0644]

index 5754197b7cb77bc7dae78cd65edae2abc4e068c9..da48b3a0b3b11c8af3167e4d9fdc20f57ca80a60 100644 (file)
@@ -157,12 +157,12 @@ recvresponse(isc_task_t *task, isc_event_t *event) {
        CHECK("dns_request_getresponse", result2);
 
        if (response != NULL) {
-               dns_message_destroy(&response);
+               dns_message_detach(&response);
        }
 
 end:
        if (query != NULL) {
-               dns_message_destroy(&query);
+               dns_message_detach(&query);
        }
 
        if (reqev->request != NULL) {
@@ -255,7 +255,7 @@ end:
                dns_message_puttemprdataset(message, &qrdataset);
        }
        if (message != NULL) {
-               dns_message_destroy(&message);
+               dns_message_detach(&message);
        }
 }
 
@@ -321,11 +321,11 @@ initctx2(isc_task_t *task, isc_event_t *event) {
                tsigkey = NULL;
        }
 
-       dns_message_destroy(&response);
+       dns_message_detach(&response);
 
 end:
        if (query != NULL) {
-               dns_message_destroy(&query);
+               dns_message_detach(&query);
        }
 
        if (reqev->request != NULL) {
index daea6a35a5834445cb8553106aec45a114810e54..494b42c4c1d311395bf5c2aa9d54e879a10c5ebd 100644 (file)
@@ -111,7 +111,7 @@ recvdone(isc_task_t *task, isc_event_t *event) {
        printf("%.*s\n", (int)isc_buffer_usedlength(&outbuf),
               (char *)isc_buffer_base(&outbuf));
 
-       dns_message_destroy(&response);
+       dns_message_detach(&response);
        isc_event_free(&event);
 
        isc_app_shutdown();
@@ -186,7 +186,7 @@ buildquery(void) {
        inr.length = sizeof(rdata);
        result = isc_socket_recv(s, &inr, 1, task1, recvdone, NULL);
        CHECK("isc_socket_recv", result);
-       dns_message_destroy(&query);
+       dns_message_detach(&query);
 }
 
 int
diff --git a/cocci/dns_message_destroy.spatch b/cocci/dns_message_destroy.spatch
new file mode 100644 (file)
index 0000000..4043525
--- /dev/null
@@ -0,0 +1,6 @@
+@@
+expression M;
+@@
+
+- dns_message_destroy(M);
++ dns_message_detach(M);