X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsetup.c;h=f1c7dfec3f9247f6625ee2a1a08d225492438e30;hb=9176d09512f99412bc4fec47a66139ca6560a47a;hp=54b93a89d0d763b0972a6da17158732d158aa76d;hpb=8fbc5b14a8b960b8e1c865ade0fba390adc6fefd;p=adns.git diff --git a/src/setup.c b/src/setup.c index 54b93a8..f1c7dfe 100644 --- a/src/setup.c +++ b/src/setup.c @@ -228,11 +228,12 @@ static void ccf_sortlist(adns_state ads, const char *fn, } } else { maskwhat = "prefix length"; - initial= strtoul(slash,&ep,10); - if (*ep || initial>adns__addr_width(sl->base.sa.sa_family)) { + unsigned long prefixlen = strtoul(slash,&ep,10); + if (*ep || prefixlen>adns__addr_width(sl->base.sa.sa_family)) { configparseerr(ads,fn,lno,"mask length `%s' invalid",slash); continue; } + initial= prefixlen; sl->mask.sa.sa_family= sl->base.sa.sa_family; adns__prefix_mask(&sl->mask, initial); }