]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add a missing clear_current_lookup() call in recv_done()
authorAram Sargsyan <aram@isc.org>
Tue, 29 Mar 2022 13:01:24 +0000 (13:01 +0000)
committerAram Sargsyan <aram@isc.org>
Tue, 5 Apr 2022 11:20:42 +0000 (11:20 +0000)
The error code path handling the `ISC_R_CANCELED` code lacks a
`clear_current_lookup()` call, without which dig hangs indefinitely
when handling the error.

Add the missing call to account for all references of the lookup so
it can be destroyed.

bin/dig/dighost.c

index 35d29eefd8d6042793bc6a8cd67bd8f9bff1a0d2..721c68f20f84ee5eb7f98016138f30b0b7ba012c 100644 (file)
@@ -3844,6 +3844,7 @@ recv_done(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t *region,
                }
                query_detach(&query);
                lookup_detach(&l);
+               clear_current_lookup();
                UNLOCK_LOOKUP;
                return;
        }