mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-03 22:08:25 -04:00
Merge branch '2807-coverity-reports-use-of-tainted-scalar' into 'main'
Resolve "Coverity reports use of tainted scalar" Closes #2807 See merge request isc-projects/bind9!5249
This commit is contained in:
commit
ad17419313
1 changed files with 25 additions and 0 deletions
|
|
@ -2043,6 +2043,14 @@ read_one_rr(dns_journal_t *j) {
|
|||
ttl = isc_buffer_getuint32(&j->it.source);
|
||||
rdlen = isc_buffer_getuint16(&j->it.source);
|
||||
|
||||
if (rdlen > DNS_RDATA_MAXLENGTH) {
|
||||
isc_log_write(JOURNAL_COMMON_LOGARGS, ISC_LOG_ERROR,
|
||||
"%s: journal corrupt: impossible rdlen "
|
||||
"(%u bytes)",
|
||||
j->filename, rdlen);
|
||||
FAIL(ISC_R_FAILURE);
|
||||
}
|
||||
|
||||
/*
|
||||
* Parse the rdata.
|
||||
*/
|
||||
|
|
@ -2613,6 +2621,14 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial,
|
|||
CHECK(result);
|
||||
|
||||
size = xhdr.size;
|
||||
if (size > len) {
|
||||
isc_log_write(JOURNAL_COMMON_LOGARGS,
|
||||
ISC_LOG_ERROR,
|
||||
"%s: journal file corrupt, "
|
||||
"transaction too large",
|
||||
j1->filename);
|
||||
CHECK(ISC_R_FAILURE);
|
||||
}
|
||||
buf = isc_mem_get(mctx, size);
|
||||
result = journal_read(j1, buf, size);
|
||||
|
||||
|
|
@ -2637,6 +2653,15 @@ dns_journal_compact(isc_mem_t *mctx, char *filename, uint32_t serial,
|
|||
/* Check again */
|
||||
isc_mem_put(mctx, buf, size);
|
||||
size = xhdr.size;
|
||||
if (size > len) {
|
||||
isc_log_write(
|
||||
JOURNAL_COMMON_LOGARGS,
|
||||
ISC_LOG_ERROR,
|
||||
"%s: journal file corrupt, "
|
||||
"transaction too large",
|
||||
j1->filename);
|
||||
CHECK(ISC_R_FAILURE);
|
||||
}
|
||||
buf = isc_mem_get(mctx, size);
|
||||
CHECK(journal_read(j1, buf, size));
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue