diff --git a/lib/dns/rdata/generic/l32_105.c b/lib/dns/rdata/generic/l32_105.c index 9657711bb8..5f2d8933bb 100644 --- a/lib/dns/rdata/generic/l32_105.c +++ b/lib/dns/rdata/generic/l32_105.c @@ -156,6 +156,8 @@ tostruct_l32(ARGS_TOSTRUCT) { dns_rdata_toregion(rdata, ®ion); l32->pref = uint16_fromregion(®ion); + isc_region_consume(®ion, 2); + INSIST(region.length == sizeof(l32->l32)); n = uint32_fromregion(®ion); l32->l32.s_addr = htonl(n); return ISC_R_SUCCESS; diff --git a/lib/dns/rdata/generic/l64_106.c b/lib/dns/rdata/generic/l64_106.c index 5e9b42e451..493264fa55 100644 --- a/lib/dns/rdata/generic/l64_106.c +++ b/lib/dns/rdata/generic/l64_106.c @@ -151,6 +151,8 @@ tostruct_l64(ARGS_TOSTRUCT) { dns_rdata_toregion(rdata, ®ion); l64->pref = uint16_fromregion(®ion); + isc_region_consume(®ion, 2); + INSIST(region.length == sizeof(l64->l64)); memmove(l64->l64, region.base, region.length); return ISC_R_SUCCESS; } diff --git a/lib/dns/rdata/generic/nid_104.c b/lib/dns/rdata/generic/nid_104.c index 80d0533057..275772b9e4 100644 --- a/lib/dns/rdata/generic/nid_104.c +++ b/lib/dns/rdata/generic/nid_104.c @@ -151,6 +151,8 @@ tostruct_nid(ARGS_TOSTRUCT) { dns_rdata_toregion(rdata, ®ion); nid->pref = uint16_fromregion(®ion); + isc_region_consume(®ion, 2); + INSIST(region.length == sizeof(nid->nid)); memmove(nid->nid, region.base, region.length); return ISC_R_SUCCESS; }