git: 9front

Download patch

ref: a0d33d3975a037abb56f2da0558dcd2b2ffd95a6
parent: 60156e6eda1b44f0f30718084efafa115c836ae2
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun Oct 13 05:02:04 EDT 2019

ndb/dns: handle empty $DNSSERVER

when $DNSSERVER is empty, query ndb for local dns servers
instead of not using any at all.

--- a/sys/src/cmd/ndb/dblookup.c
+++ b/sys/src/cmd/ndb/dblookup.c
@@ -937,11 +937,9 @@
 		return nsrp;
 
 	p = getenv("DNSSERVER");		/* list of ip addresses */
-	if(p != nil){
-		n = tokenize(p, args, nelem(args));
+	if(p != nil && (n = tokenize(p, args, nelem(args))) > 0){
 		for(i = 0; i < n; i++)
 			addlocaldnsserver(dp, class, args[i], i);
-		free(p);
 	} else {
 		t = lookupinfo("@dns");		/* @dns=ip1 @dns=ip2 ... */
 		if(t == nil)
@@ -953,6 +951,7 @@
 		}
 		ndbfree(t);
 	}
+	free(p);
 
 	return rrlookup(dp, Tns, NOneg);
 }
--