diff --git a/CHANGES b/CHANGES index eac5a1a7c8..3a07a49898 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +6165. [bug] Fix a logic error in dighost.c which could call the + dighost_shutdown() callback twice and cause problems + if the callback function was not idempotent. [GL #4039] + 6164. [bug] Set the rndc idle read timeout back to 60 seconds, from the netmgr default of 30 seconds, in order to match the behavior of 9.16 and earlier. [GL #4046] diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c index 55168fa699..d8323c6f66 100644 --- a/bin/dig/dighost.c +++ b/bin/dig/dighost.c @@ -3212,11 +3212,11 @@ udp_ready(isc_nmhandle_t *handle, isc_result_t eresult, void *arg) { if (next != NULL) { start_udp(next); + check_if_done(); } else { clear_current_lookup(); } - check_if_done(); return; } @@ -3609,11 +3609,11 @@ tcp_connected(isc_nmhandle_t *handle, isc_result_t eresult, void *arg) { if (next != NULL) { start_tcp(next); + check_if_done(); } else { clear_current_lookup(); } - check_if_done(); return; }