Browse Source

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.
Nick Mathewson 10 years ago
parent
commit
24add404ac
2 changed files with 5 additions and 1 deletions
  1. 3 0
      changes/bug8788
  2. 2 1
      src/ext/eventdns.c

+ 3 - 0
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.

+ 2 - 1
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) {