mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
Merge branch '3478-dig-lookup-reference-counting-bug-v9_18' into 'v9_18'
[v9_18] DiG: fix lookup reference counting bug See merge request isc-projects/bind9!6640
This commit is contained in:
commit
18bdce8477
3 changed files with 12 additions and 1 deletions
3
CHANGES
3
CHANGES
|
|
@ -1,3 +1,6 @@
|
|||
5935. [bug] Fix DiG lookup reference counting bug, which could
|
||||
be observed in NSSEARCH mode. [GL #3478]
|
||||
|
||||
5934. [func] Improve fetches-per-zone fetch limit logging to log
|
||||
the final allowed and spilled values of the fetch
|
||||
counters before the counter object gets destroyed.
|
||||
|
|
|
|||
|
|
@ -1828,11 +1828,19 @@ clear_current_lookup(void) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (lookup->cleared) {
|
||||
debug("current_lookup is already cleared");
|
||||
return;
|
||||
}
|
||||
|
||||
if (ISC_LIST_HEAD(lookup->q) != NULL) {
|
||||
debug("still have a worker");
|
||||
return;
|
||||
}
|
||||
|
||||
lookup->cleared = true;
|
||||
debug("lookup cleared");
|
||||
|
||||
lookup_detach(&lookup);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ typedef struct dig_searchlist dig_searchlist_t;
|
|||
struct dig_lookup {
|
||||
unsigned int magic;
|
||||
isc_refcount_t references;
|
||||
bool aaonly, adflag, badcookie, besteffort, cdflag, comments,
|
||||
bool aaonly, adflag, badcookie, besteffort, cdflag, cleared, comments,
|
||||
dns64prefix, dnssec, doing_xfr, done_as_is, ednsneg, expandaaaa,
|
||||
expire, header_only, identify, /*%< Append an "on server <foo>"
|
||||
message */
|
||||
|
|
|
|||
Loading…
Reference in a new issue