mirror of
http://thekelleys.org.uk/git/dnsmasq.git
synced 2026-11-11 16:40:27 +00:00
Change "limit" arg to add_pseudoheader() to a length.
Also ripple effects for most of its callers. This fixes an OOB write caused by bad pointer arithmetic calculating the pointer-to-end-of-packet used before. Thanks to Donghyeon Jeong for spotting the bug.
This commit is contained in:
4 files changed
+44
-43
No files matched your search
+2
-2
@@ -2332,7 +2332,7 @@ int dnskey_keytag(int alg, int flags, unsigned char *key, int keylen)
|
||||
}
|
||||
}
|
||||
|
||||
size_t dnssec_generate_query(struct dns_header *header, unsigned char *end, char *name,
|
||||
size_t dnssec_generate_query(struct dns_header *header, size_t outlen, char *name,
|
||||
int class, int id, int type)
|
||||
{
|
||||
unsigned char *p;
|
||||
@@ -2356,7 +2356,7 @@ size_t dnssec_generate_query(struct dns_header *header, unsigned char *end, char
|
||||
PUTSHORT(type, p);
|
||||
PUTSHORT(class, p);
|
||||
|
||||
return add_do_bit(header, p - (unsigned char *)header, end);
|
||||
return add_do_bit(header, p - (unsigned char *)header, outlen);
|
||||
}
|
||||
|
||||
int errflags_to_ede(int status)
|
||||
|
||||
Reference in new issue
Block a user