Commit 00cd9d55 authored by Simon Kelley's avatar Simon Kelley

crash at startup when an empty suffix is supplied to --conf-dir

parent f2658275
version 2.73
Fix crash at startup when an empty suffix is supplied to
--conf-dir, also trivial memory leak. Thanks to
Tomas Hozza for spotting this.
version 2.72 version 2.72
Add ra-advrouter mode, for RFC-3775 mobile IPv6 support. Add ra-advrouter mode, for RFC-3775 mobile IPv6 support.
......
...@@ -1474,22 +1474,25 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma ...@@ -1474,22 +1474,25 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
for (arg = comma; arg; arg = comma) for (arg = comma; arg; arg = comma)
{ {
comma = split(arg); comma = split(arg);
li = opt_malloc(sizeof(struct list)); if (strlen(arg) != 0)
if (*arg == '*')
{ {
li->next = match_suffix; li = opt_malloc(sizeof(struct list));
match_suffix = li; if (*arg == '*')
/* Have to copy: buffer is overwritten */ {
li->suffix = opt_string_alloc(arg+1); li->next = match_suffix;
} match_suffix = li;
else /* Have to copy: buffer is overwritten */
{ li->suffix = opt_string_alloc(arg+1);
li->next = ignore_suffix; }
ignore_suffix = li; else
/* Have to copy: buffer is overwritten */ {
li->suffix = opt_string_alloc(arg); li->next = ignore_suffix;
ignore_suffix = li;
/* Have to copy: buffer is overwritten */
li->suffix = opt_string_alloc(arg);
}
} }
}; }
if (!(dir_stream = opendir(directory))) if (!(dir_stream = opendir(directory)))
die(_("cannot access directory %s: %s"), directory, EC_FILE); die(_("cannot access directory %s: %s"), directory, EC_FILE);
...@@ -1555,7 +1558,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma ...@@ -1555,7 +1558,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma
free(ignore_suffix->suffix); free(ignore_suffix->suffix);
free(ignore_suffix); free(ignore_suffix);
} }
for(; match_suffix; match_suffix = li)
{
li = match_suffix->next;
free(match_suffix->suffix);
free(match_suffix);
}
break; break;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment