mirror of
https://github.com/isc-projects/bind9.git
synced 2026-03-24 11:25:08 -04:00
added sanity check of journal RR size
This commit is contained in:
parent
095f11eab4
commit
271fa93020
1 changed files with 10 additions and 2 deletions
|
|
@ -1884,9 +1884,17 @@ read_one_rr(dns_journal_t *j) {
|
|||
}
|
||||
/* Read an RR. */
|
||||
result = journal_read_rrhdr(j, &rrhdr);
|
||||
if (rrhdr.size == 0) {
|
||||
/*
|
||||
* Perform a sanity check on the journal RR size.
|
||||
* The smallest possible RR has a 1-byte owner name
|
||||
* and a 10-byte header. The largest possible
|
||||
* RR has 65535 bytes of data, a header, and a maximum-
|
||||
* size owner name, well below 70 k total.
|
||||
*/
|
||||
if (rrhdr.size < 1+10 || rrhdr.size > 70000) {
|
||||
UNEXPECTED_ERROR(__FILE__, __LINE__,
|
||||
"journal corrupt: empty RR");
|
||||
"journal corrupt: impossible RR size "
|
||||
"(%d bytes)", rrhdr.size);
|
||||
FAIL(DNS_R_UNEXPECTED);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue