[tor-commits] [tor/master] eventdns.c: survive broken resolv.conf files
nickm at torproject.org
nickm at torproject.org
Wed Mar 5 17:17:38 UTC 2014
commit 24add404ac08df59d0b5d68c6762b869bee63bac
Author: Nick Mathewson <nickm at 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) {
More information about the tor-commits
mailing list