resolved: make sure domain name hash function deals nicely with NUL embedded in labels
authorLennart Poettering <lennart@poettering.net>
Thu, 7 Jan 2016 18:43:56 +0000 (19:43 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 11 Jan 2016 18:39:59 +0000 (19:39 +0100)
src/shared/dns-domain.c

index 3848a05..729508e 100644 (file)
@@ -503,10 +503,8 @@ void dns_name_hash_func(const void *s, struct siphash *state) {
                 if (r == 0)
                         break;
 
-                label[r] = 0;
-                ascii_strlower(label);
-
-                string_hash_func(label, state);
+                ascii_strlower_n(label, r);
+                siphash24_compress(label, r, state);
         }
 
         /* enforce that all names are terminated by the empty label */