From: Simon Kelley Date: Sat, 21 Nov 2015 21:47:41 +0000 (+0000) Subject: Fix crash at start up with conf-dir=/path,* X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0007ee90646a5a78a96ee729932e89d31c69513a;p=people%2Fms%2Fdnsmasq.git Fix crash at start up with conf-dir=/path,* Thanks to Brian Carpenter and American Fuzzy Lop for finding the bug. --- diff --git a/src/option.c b/src/option.c index 746cd11..71beb98 100644 --- a/src/option.c +++ b/src/option.c @@ -1515,10 +1515,16 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma li = opt_malloc(sizeof(struct list)); if (*arg == '*') { - li->next = match_suffix; - match_suffix = li; - /* Have to copy: buffer is overwritten */ - li->suffix = opt_string_alloc(arg+1); + /* "*" with no suffix is a no-op */ + if (arg[1] == 0) + free(li); + else + { + li->next = match_suffix; + match_suffix = li; + /* Have to copy: buffer is overwritten */ + li->suffix = opt_string_alloc(arg+1); + } } else {