From: Evan Hunt Date: Tue, 12 Apr 2022 00:29:03 +0000 (-0700) Subject: ADB entries could be unlinked too soon X-Git-Tag: v9.19.1~80^2~1 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=73ff8850bf48b8e136f8aa4c86076da99ffdd5bf;p=thirdparty%2Fbind9.git ADB entries could be unlinked too soon due to a typo in the code, ADB entries were unlinked from their entry buckets during shutdown if they had a nonzero reference count. they were only supposed to be unlinked if the reference count was exactly one (that being the reference held by the bucket itself). --- diff --git a/lib/dns/adb.c b/lib/dns/adb.c index ae616710a41..edce5bf18c8 100644 --- a/lib/dns/adb.c +++ b/lib/dns/adb.c @@ -1009,7 +1009,7 @@ shutdown_entries(dns_adb_t *adb) { * entries not in use. */ next_entry = ISC_LIST_NEXT(entry, plink); - if (isc_refcount_current(&entry->references) && + if (isc_refcount_current(&entry->references) == 1 && entry->expires == 0) { unlink_entry(entry); }