A6: return FORMERR in fromwire if bits are non zero.

oss_fuzz: Issue 24864: bind9:dns_rdata_fromwire_text_fuzzer: Overwrites-const-input in dns_rdata_fromwire_text_fuzzer
This commit is contained in:
Mark Andrews
2020-08-15 10:12:50 +10:00
committed by Ondřej Surý
parent f6d7b8c20d
commit 8452404bd7

View File

@@ -182,7 +182,9 @@ fromwire_in_a6(ARGS_FROMWIRE) {
return (ISC_R_UNEXPECTEDEND);
}
mask = 0xff >> (prefixlen % 8);
sr.base[0] &= mask; /* Ensure pad bits are zero. */
if ((sr.base[0] & ~mask) != 0) {
return (DNS_R_FORMERR);
}
RETERR(mem_tobuffer(target, sr.base, octets));
isc_buffer_forward(source, octets);
}