chiark / gitweb /
setup.c: Do not fail assertion if `search' with no options in resolv.conf
[adns.git] / src / setup.c
index 8ff92d284e5bf4a89955f336795479417d28ade1..54b93a89d0d763b0972a6da17158732d158aa76d 100644 (file)
@@ -147,11 +147,17 @@ static void ccf_search(adns_state ads, const char *fn,
   tl= 0;
   while (nextword(&bufp,&word,&l)) { count++; tl += l+1; }
 
-  newptrs= malloc(sizeof(char*)*count);
-  if (!newptrs) { saveerr(ads,errno); return; }
-
-  newchars= malloc(tl);
-  if (!newchars) { saveerr(ads,errno); free(newptrs); return; }
+  if (count) {
+    newptrs= malloc(sizeof(char*)*count);
+    if (!newptrs) { saveerr(ads,errno); return; }
+
+    newchars= malloc(tl);
+    if (!newchars) { saveerr(ads,errno); free(newptrs); return; }
+  } else {
+    assert(!tl);
+    newptrs= 0;
+    newchars= 0;
+  }
 
   bufp= buf;
   pp= newptrs;