mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 03:27:39 +00:00
Remove arbitrary limit from DNS result parsing
The name resolution would abort when getting more than 63 records per request, due to what seems to be a left-over from the original code. This check was non-breaking but spurious prior to TCP fallback support, since any 512-byte packet with more than 63 records was necessarily malformed. But now, it wrongly rejects valid results. Reported by Daniel Stefanik in Alpine Linux aports issue 15320.
This commit is contained in:
parent
1a6b4ab627
commit
6992d8c195
1 changed files with 0 additions and 1 deletions
1
third_party/musl/dns_parse.c
vendored
1
third_party/musl/dns_parse.c
vendored
|
@ -40,7 +40,6 @@ int __dns_parse(const unsigned char *r, int rlen,
|
|||
p = r+12;
|
||||
qdcount = r[4]*256 + r[5];
|
||||
ancount = r[6]*256 + r[7];
|
||||
if (qdcount+ancount > 64) return -1;
|
||||
while (qdcount--) {
|
||||
while (p-r < rlen && *p-1U < 127) p++;
|
||||
if (p>r+rlen-6)
|
||||
|
|
Loading…
Reference in a new issue