commit 24add404ac08df59d0b5d68c6762b869bee63bac Author: Nick Mathewson nickm@torproject.org Date: Wed Feb 12 15:11:31 2014 -0500
eventdns.c: survive broken resolv.conf files
If you had a resolv.conf file with a nameserver line containing no nameserver IP, we would crash. That's not terrible, but it's not desirable.
Fixes bug 8788; bugfix on 0.1.1.23. Libevent already has this fix. --- changes/bug8788 | 3 +++ src/ext/eventdns.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/changes/bug8788 b/changes/bug8788 new file mode 100644 index 0000000..26fb5bc --- /dev/null +++ b/changes/bug8788 @@ -0,0 +1,3 @@ + o Minor bugfixes: + - Avoid crashing on a malformed resolv.conf file when running a + server using Libevent 1. Fixes bug 8788; bugfix on 0.1.1.23. diff --git a/src/ext/eventdns.c b/src/ext/eventdns.c index 8b934c4..5ac9c12 100644 --- a/src/ext/eventdns.c +++ b/src/ext/eventdns.c @@ -3014,7 +3014,8 @@ resolv_conf_parse_line(char *const start, int flags) {
if (!strcmp(first_token, "nameserver") && (flags & DNS_OPTION_NAMESERVERS)) { const char *const nameserver = NEXT_TOKEN; - evdns_nameserver_ip_add(nameserver); + if (nameserver) + evdns_nameserver_ip_add(nameserver); } else if (!strcmp(first_token, "domain") && (flags & DNS_OPTION_SEARCH)) { const char *const domain = NEXT_TOKEN; if (domain) {
tor-commits@lists.torproject.org