]> git.ipfire.org Git - ipfire-2.x.git/blob - src/patches/dnsmasq/013-Fix_crash_when_empty_address_from_DNS_overlays_A_record_from.patch
736cf38922adbf1463fc4f7d1bfbc3c9ee9daaba
[ipfire-2.x.git] / src / patches / dnsmasq / 013-Fix_crash_when_empty_address_from_DNS_overlays_A_record_from.patch
1 From 41a8d9e99be9f2cc8b02051dd322cb45e0faac87 Mon Sep 17 00:00:00 2001
2 From: =?utf8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin+ml-cerowrt@etorok.net>
3 Date: Sat, 14 Nov 2015 17:45:48 +0000
4 Subject: [PATCH] Fix crash when empty address from DNS overlays A record from
5 hosts.
6
7 ---
8 CHANGELOG | 5 +++++
9 src/cache.c | 2 +-
10 2 files changed, 6 insertions(+), 1 deletion(-)
11
12 diff --git a/CHANGELOG b/CHANGELOG
13 index d6e309f..93c73d0 100644
14 --- a/CHANGELOG
15 +++ b/CHANGELOG
16 @@ -13,6 +13,11 @@ version 2.76
17 was a dangling symbolic link, even of --no-resolv set.
18 Thanks to Alexander Kurtz for spotting the problem.
19
20 + Fix crash when an A or AAAA record is defined locally,
21 + in a hosts file, and an upstream server sends a reply
22 + that the same name is empty. Thanks to Edwin Török for
23 + the patch.
24 +
25
26 version 2.75
27 Fix reversion on 2.74 which caused 100% CPU use when a
28 diff --git a/src/cache.c b/src/cache.c
29 index 178d654..1b76b67 100644
30 --- a/src/cache.c
31 +++ b/src/cache.c
32 @@ -481,7 +481,7 @@ struct crec *cache_insert(char *name, struct all_addr *addr,
33 existing record is for an A or AAAA and
34 the record we're trying to insert is the same,
35 just drop the insert, but don't error the whole process. */
36 - if ((flags & (F_IPV4 | F_IPV6)) && (flags & F_FORWARD))
37 + if ((flags & (F_IPV4 | F_IPV6)) && (flags & F_FORWARD) && addr)
38 {
39 if ((flags & F_IPV4) && (new->flags & F_IPV4) &&
40 new->addr.addr.addr.addr4.s_addr == addr->addr.addr4.s_addr)
41 --
42 1.7.10.4
43