From: Ondřej Surý Date: Wed, 3 May 2023 06:15:31 +0000 (+0200) Subject: Fix a logical flaw that would skip logging notify success X-Git-Tag: v9.19.13~6^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b3c6ee7b9a5df02fc2ccd516cd14752b410877c9;p=thirdparty%2Fbind9.git Fix a logical flaw that would skip logging notify success The notify_done() would never log a success as the logging part was always skipped. Fix the code flow in the function. --- diff --git a/lib/dns/zone.c b/lib/dns/zone.c index 05d7d6c1fd2..a7c009678b4 100644 --- a/lib/dns/zone.c +++ b/lib/dns/zone.c @@ -15802,17 +15802,14 @@ notify_done(void *arg) { (int)buf.used, rcode); } - dns_message_detach(&message); - goto done; - fail: dns_message_detach(&message); if (result == ISC_R_SUCCESS) { - notify_log(notify->zone, ISC_LOG_INFO, + notify_log(notify->zone, ISC_LOG_DEBUG(1), "notify to %s successful", addrbuf); } else if (result == ISC_R_SHUTTINGDOWN || result == ISC_R_CANCELED) { - goto done; + /* just destroy the notify */ } else if ((notify->flags & DNS_NOTIFY_TCP) == 0) { notify_log(notify->zone, ISC_LOG_NOTICE, "notify to %s failed: %s: retrying over TCP", @@ -15830,7 +15827,6 @@ fail: "notify to %s failed: %s", addrbuf, isc_result_totext(result)); } -done: notify_destroy(notify, false); }