2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 14:35:26 +00:00

bits was being ORed with the mask instead of ANDed.

Update the entry's flags too.
This commit is contained in:
Bob Halley
1999-11-16 21:04:18 +00:00
parent 4f6dd51441
commit 70b065bd92

View File

@@ -3427,7 +3427,15 @@ dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr,
bucket = addr->entry->lock_bucket;
LOCK(&adb->entrylocks[bucket]);
addr->flags = (addr->flags & ~mask) | (bits | mask);
addr->entry->flags = (addr->entry->flags & ~mask) | (bits & mask);
/*
* Note that we do not update the other bits in addr->flags with
* the most recent values from addr->entry->flags.
*
* XXXRTH I think this is what we want, because otherwise flags
* that the caller didn't ask to change could be updated.
*/
addr->flags = (addr->flags & ~mask) | (bits & mask);
UNLOCK(&adb->entrylocks[bucket]);
}