mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-13 17:59:46 -04:00
makeslab(), makevec(), dns_rdatavec_merge() and dns_rdatavec_subtract() summed per-record storage into an unsigned int with no upper-bound check. An RRset whose total encoded size exceeds DNS_RDATA_MAXLENGTH cannot fit in a DNS message and is unservable; building its in-memory representation only burns memory on data that will fail at response time, and at the upper bound the running sum could in theory wrap. Cap the running total at DNS_RDATA_MAXLENGTH and return ISC_R_NOSPACE when exceeded. Update the qpdb cache memory-purge test to use a record size that fits within the new limit. Assisted-by: Claude:claude-opus-4-7 |
||
|---|---|---|
| .. | ||
| bench | ||
| dns | ||
| include/tests | ||
| isc | ||
| isccfg | ||
| libtest | ||
| ns | ||
| .gitignore | ||
| meson.build | ||