diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2018-08-02 16:54:27 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2018-08-06 10:48:20 +0900 |
commit | 10c6e7e51ec515a509698120ea13cb2e0a325a3a (patch) | |
tree | 6ecedb1043f20d2a27e9b11484723c94424124f4 /src/resolve/resolved-dns-trust-anchor.c | |
parent | 31ee39732705b74c43b2352132e3af205a876c99 (diff) | |
download | systemd-10c6e7e51ec515a509698120ea13cb2e0a325a3a.tar.gz |
resolve: fix error handling of dns_name_is_valid()
Diffstat (limited to 'src/resolve/resolved-dns-trust-anchor.c')
-rw-r--r-- | src/resolve/resolved-dns-trust-anchor.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/resolve/resolved-dns-trust-anchor.c b/src/resolve/resolved-dns-trust-anchor.c index 533e438fae..bf5b07cdd3 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; } |