resolved: properly compare RRs we cannot parse
authorLennart Poettering <lennart@poettering.net>
Thu, 31 Jul 2014 16:41:54 +0000 (18:41 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 31 Jul 2014 16:41:54 +0000 (18:41 +0200)
src/resolve/resolved-dns-rr.c

index 04004de..6cb4ed9 100644 (file)
@@ -330,7 +330,10 @@ int dns_resource_record_equal(const DnsResourceRecord *a, const DnsResourceRecor
         if (r <= 0)
                 return r;
 
-        switch (a->key->type) {
+        if (a->unparseable != b->unparseable)
+                return 0;
+
+        switch (a->unparseable ? _DNS_TYPE_INVALID : a->key->type) {
 
         case DNS_TYPE_SRV:
                 r = dns_name_equal(a->srv.name, b->srv.name);