mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 18:28:25 +00:00
Fix a bug in rdlen update while decompressing a name
This commit is contained in:
committed by
Simon Kelley
parent
ec2962eacb
commit
0db0e0c216
@@ -141,8 +141,10 @@ static int process_domain_name(struct dns_header *header, size_t pktlen,
|
||||
label_type = count & 0xC0;
|
||||
if (label_type == 0xC0)
|
||||
{
|
||||
int l2;
|
||||
if (p >= end)
|
||||
return 0;
|
||||
l2 = *p++;
|
||||
if (hops == 0)
|
||||
{
|
||||
if (p - *rdata > *rdlen)
|
||||
@@ -152,7 +154,7 @@ static int process_domain_name(struct dns_header *header, size_t pktlen,
|
||||
}
|
||||
if (++hops == 256)
|
||||
return 0;
|
||||
p = (unsigned char*)header + (count & 0x3F) * 256 + *p;
|
||||
p = (unsigned char*)header + (count & 0x3F) * 256 + l2;
|
||||
}
|
||||
else if (label_type == 0x00)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user