Commit 41a8d9e9 authored by Edwin Török's avatar Edwin Török Committed by Simon Kelley

Fix crash when empty address from DNS overlays A record from hosts.

parent 90477fb7
...@@ -13,6 +13,11 @@ version 2.76 ...@@ -13,6 +13,11 @@ version 2.76
was a dangling symbolic link, even of --no-resolv set. was a dangling symbolic link, even of --no-resolv set.
Thanks to Alexander Kurtz for spotting the problem. Thanks to Alexander Kurtz for spotting the problem.
Fix crash when an A or AAAA record is defined locally,
in a hosts file, and an upstream server sends a reply
that the same name is empty. Thanks to Edwin Török for
the patch.
version 2.75 version 2.75
Fix reversion on 2.74 which caused 100% CPU use when a Fix reversion on 2.74 which caused 100% CPU use when a
......
...@@ -481,7 +481,7 @@ struct crec *cache_insert(char *name, struct all_addr *addr, ...@@ -481,7 +481,7 @@ struct crec *cache_insert(char *name, struct all_addr *addr,
existing record is for an A or AAAA and existing record is for an A or AAAA and
the record we're trying to insert is the same, the record we're trying to insert is the same,
just drop the insert, but don't error the whole process. */ just drop the insert, but don't error the whole process. */
if ((flags & (F_IPV4 | F_IPV6)) && (flags & F_FORWARD)) if ((flags & (F_IPV4 | F_IPV6)) && (flags & F_FORWARD) && addr)
{ {
if ((flags & F_IPV4) && (new->flags & F_IPV4) && if ((flags & F_IPV4) && (new->flags & F_IPV4) &&
new->addr.addr.addr.addr4.s_addr == addr->addr.addr4.s_addr) new->addr.addr.addr.addr4.s_addr == addr->addr.addr4.s_addr)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment