From eec5c1e21c5e021e272162c9bccc61400bc1660a Mon Sep 17 00:00:00 2001 From: Simon Kelley Date: Fri, 25 Oct 2013 10:37:30 +0100 Subject: [PATCH] Fix parsing of synth-domain=domain,addr,addr,prefix --- src/option.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/option.c b/src/option.c index 3184509..0ba2664 100644 --- a/src/option.c +++ b/src/option.c @@ -1860,9 +1860,12 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma else ret_err(gen_err); } - else + else { + char *prefstr; arg = split(comma); + prefstr = split(arg); + if (inet_pton(AF_INET, comma, &new->start)) { new->is6 = 0; @@ -1883,6 +1886,13 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma #endif else ret_err(gen_err); + + if (option != 's' && prefstr) + { + if (!(new->prefix = canonicalise_opt(prefstr)) || + strlen(new->prefix) > MAXLABEL - INET_ADDRSTRLEN) + ret_err(_("bad prefix")); + } } new->domain = d;