Zero packet buffers before building output, to reduce risk of information leakage.

This commit is contained in:
Simon Kelley
2016-07-22 20:56:01 +01:00
parent cd2ddb9904
commit fa78573778
8 changed files with 30 additions and 6 deletions

View File

@@ -101,6 +101,11 @@ size_t answer_auth(struct dns_header *header, char *limit, size_t qlen, time_t n
struct all_addr addr;
struct cname *a;
/* Clear buffer beyond request to avoid risk of
information disclosure. */
memset(((char *)header) + qlen, 0,
(limit - ((char *)header)) - qlen);
if (ntohs(header->qdcount) == 0 || OPCODE(header) != QUERY )
return 0;