From: Simon Kelley Date: Sun, 6 Nov 2022 20:18:27 +0000 (+0000) Subject: Fix breakage of --local=/domain.name/1.2.3.4 in immediately previous commit. X-Git-Tag: v2.88test2~1 X-Git-Url: https://thekelleys.org.uk/gitweb/?a=commitdiff_plain;h=5b868c213bc2eadfa286db9cbc48c686b105263a;p=dnsmasq.git Fix breakage of --local=/domain.name/1.2.3.4 in immediately previous commit. --- diff --git a/src/option.c b/src/option.c index 163421a..53df70a 100644 --- a/src/option.c +++ b/src/option.c @@ -2977,9 +2977,9 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma if (servers_only && option == 'S') flags |= SERV_FROM_FILE; - while (parse_server_next(&sdetails)) + while ((flags & SERV_LITERAL_ADDRESS) || parse_server_next(&sdetails)) { - if ((err = parse_server_addr(&sdetails))) + if (!(flags & SERV_LITERAL_ADDRESS) && (err = parse_server_addr(&sdetails))) ret_err(err); /* When source is set only use DNS records of the same type and skip all others */ @@ -3009,9 +3009,13 @@ static int one_opt(int option, char *arg, char *errstr, char *gen_err, int comma domain += strlen(domain) + 1; } + + if (flags & SERV_LITERAL_ADDRESS) + break; } - if (sdetails.resolved) - freeaddrinfo(sdetails.hostinfo); + + if (sdetails.resolved) + freeaddrinfo(sdetails.hostinfo); break; }