From: Diego Fronza Date: Mon, 21 Sep 2020 21:19:49 +0000 (-0300) Subject: cocci: Add semantic patch to refactor dns_message_destroy() X-Git-Tag: v9.16.8~23^2~2 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=46f22df54cb3b84f6577b007bfa6edeb7441c07e;p=thirdparty%2Fbind9.git cocci: Add semantic patch to refactor dns_message_destroy() 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) --- diff --git a/bin/tests/optional/gsstest.c b/bin/tests/optional/gsstest.c index 5754197b7cb..da48b3a0b3b 100644 --- a/bin/tests/optional/gsstest.c +++ b/bin/tests/optional/gsstest.c @@ -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) { diff --git a/bin/tests/optional/sig0_test.c b/bin/tests/optional/sig0_test.c index daea6a35a58..494b42c4c1d 100644 --- a/bin/tests/optional/sig0_test.c +++ b/bin/tests/optional/sig0_test.c @@ -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 index 00000000000..40435254138 --- /dev/null +++ b/cocci/dns_message_destroy.spatch @@ -0,0 +1,6 @@ +@@ +expression M; +@@ + +- dns_message_destroy(M); ++ dns_message_detach(M);