mirror of
https://github.com/isc-projects/bind9.git
synced 2026-04-29 18:09:11 -04:00
RPZ: Don't diff keys out of bounds, found via Valgrind (#38559)
(cherry picked from commit 73639a33fa)
Conflicts:
CHANGES
lib/dns/rpz.c
This commit is contained in:
parent
e87fa9ae0f
commit
76a3ca378c
2 changed files with 8 additions and 2 deletions
5
CHANGES
5
CHANGES
|
|
@ -1,3 +1,8 @@
|
|||
4062. [bug] Fix an out-of-bounds read in RPZ code. If the
|
||||
read succeeded, it doesn't result in a bug
|
||||
during operation. If the read failed, named
|
||||
could segfault. [RT #38559]
|
||||
|
||||
--- 9.9.7 released ---
|
||||
|
||||
--- 9.9.7rc2 released ---
|
||||
|
|
|
|||
|
|
@ -741,13 +741,14 @@ diff_keys(const dns_rpz_cidr_key_t *key1, dns_rpz_cidr_bits_t bits1,
|
|||
dns_rpz_cidr_bits_t maxbit, bit;
|
||||
int i;
|
||||
|
||||
bit = 0;
|
||||
maxbit = ISC_MIN(bits1, bits2);
|
||||
|
||||
/*
|
||||
* find the first differing words
|
||||
*/
|
||||
for (i = 0, bit = 0;
|
||||
bit <= maxbit;
|
||||
for (i = 0;
|
||||
bit < maxbit;
|
||||
i++, bit += DNS_RPZ_CIDR_WORD_BITS) {
|
||||
delta = key1->w[i] ^ key2->w[i];
|
||||
if (delta != 0) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue