mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-08 22:22:05 -04:00
Merge branch '2469-cid-281461-untrusted-loop-bound' into 'main'
Resolve "CID 281461: untrusted loop bound" Closes #2469 See merge request isc-projects/bind9!4642
This commit is contained in:
commit
a415424339
1 changed files with 5 additions and 3 deletions
|
|
@ -194,6 +194,7 @@ fromwire_hip(ARGS_FROMWIRE) {
|
|||
dns_name_t name;
|
||||
uint8_t hit_len;
|
||||
uint16_t key_len;
|
||||
size_t len;
|
||||
|
||||
REQUIRE(type == dns_rdatatype_hip);
|
||||
|
||||
|
|
@ -216,12 +217,13 @@ fromwire_hip(ARGS_FROMWIRE) {
|
|||
RETERR(DNS_R_FORMERR);
|
||||
}
|
||||
isc_region_consume(®ion, 2);
|
||||
if (region.length < (unsigned)(hit_len + key_len)) {
|
||||
len = hit_len + key_len;
|
||||
if (len > region.length) {
|
||||
RETERR(DNS_R_FORMERR);
|
||||
}
|
||||
|
||||
RETERR(mem_tobuffer(target, rr.base, 4 + hit_len + key_len));
|
||||
isc_buffer_forward(source, 4 + hit_len + key_len);
|
||||
RETERR(mem_tobuffer(target, rr.base, 4 + len));
|
||||
isc_buffer_forward(source, 4 + len);
|
||||
|
||||
dns_decompress_setmethods(dctx, DNS_COMPRESS_NONE);
|
||||
while (isc_buffer_activelength(source) > 0) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue