X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fsetup.c;fp=src%2Fsetup.c;h=54b93a89d0d763b0972a6da17158732d158aa76d;hb=8fbc5b14a8b960b8e1c865ade0fba390adc6fefd;hp=8ff92d284e5bf4a89955f336795479417d28ade1;hpb=0a214048761384524d2bfc48e792315e6a2e187d;p=adns.git diff --git a/src/setup.c b/src/setup.c index 8ff92d2..54b93a8 100644 --- a/src/setup.c +++ b/src/setup.c @@ -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;