From: Lennart Poettering Date: Thu, 31 Jul 2014 22:39:59 +0000 (+0200) Subject: resolved: fix negative caching of IDNA domains X-Git-Tag: v216~318 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=7da40fc10879d122cc6ebfba9609b56212a0ef77 resolved: fix negative caching of IDNA domains --- diff --git a/src/resolve/resolved-dns-domain.c b/src/resolve/resolved-dns-domain.c index 80a2b3cd3..6152047ec 100644 --- a/src/resolve/resolved-dns-domain.c +++ b/src/resolve/resolved-dns-domain.c @@ -324,7 +324,7 @@ unsigned long dns_name_hash_func(const void *s, const uint8_t hash_key[HASH_KEY_ k = dns_label_undo_idna(label, r, label, sizeof(label)); if (k < 0) - return k; + break; if (k > 0) r = k; @@ -436,7 +436,7 @@ int dns_name_endswith(const char *name, const char *suffix) { q = dns_label_unescape(&s, ls, sizeof(ls)); if (r < 0) return r; - w = dns_label_undo_idna(ls, r, ls, sizeof(ls)); + w = dns_label_undo_idna(ls, q, ls, sizeof(ls)); if (w < 0) return w; if (w > 0)