From: Yu Watanabe Date: Thu, 2 Aug 2018 07:54:27 +0000 (+0900) Subject: resolve: fix error handling of dns_name_is_valid() X-Git-Tag: v240~863^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F9775%2Fhead;p=thirdparty%2Fsystemd.git resolve: fix error handling of dns_name_is_valid() --- diff --git a/src/resolve/resolved-dns-trust-anchor.c b/src/resolve/resolved-dns-trust-anchor.c index 533e438fae9..bf5b07cdd3b 100644 --- a/src/resolve/resolved-dns-trust-anchor.c +++ b/src/resolve/resolved-dns-trust-anchor.c @@ -218,7 +218,10 @@ static int dns_trust_anchor_load_positive(DnsTrustAnchor *d, const char *path, u if (r < 0) return log_warning_errno(r, "Unable to parse domain in line %s:%u: %m", path, line); - if (!dns_name_is_valid(domain)) { + r = dns_name_is_valid(domain); + if (r < 0) + return log_warning_errno(r, "Failed to chack validity of domain name '%s', at line %s:%u, ignoring line: %m", domain, path, line); + if (r == 0) { log_warning("Domain name %s is invalid, at line %s:%u, ignoring line.", domain, path, line); return -EINVAL; } @@ -385,7 +388,10 @@ static int dns_trust_anchor_load_negative(DnsTrustAnchor *d, const char *path, u if (r < 0) return log_warning_errno(r, "Unable to parse line %s:%u: %m", path, line); - if (!dns_name_is_valid(domain)) { + r = dns_name_is_valid(domain); + if (r < 0) + return log_warning_errno(r, "Failed to chack validity of domain name '%s', at line %s:%u, ignoring line: %m", domain, path, line); + if (r == 0) { log_warning("Domain name %s is invalid, at line %s:%u, ignoring line.", domain, path, line); return -EINVAL; }