From 8fbc5b14a8b960b8e1c865ade0fba390adc6fefd Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sat, 19 Nov 2016 19:41:06 +0000 Subject: [PATCH] setup.c: Do not fail assertion if `search' with no options in resolv.conf (Found by AFL.) Signed-off-by: Ian Jackson --- src/setup.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) 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; -- 2.30.2