]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolve: use memcmp_safe() and memcpy_safe()
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 8 Aug 2018 07:23:20 +0000 (16:23 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 8 Aug 2018 08:11:56 +0000 (17:11 +0900)
As the length of salt in NSEC3 may be zero.

Fixes #9757.

src/resolve/resolved-dns-dnssec.c
src/resolve/resolved-dns-packet.c

index e0d70c29cb0e517a7828a88558a074cef96c8699..2c8514a72a883875ffc57f6bb6a1c1ba4e75fb10 100644 (file)
@@ -1380,7 +1380,7 @@ static int nsec3_is_good(DnsResourceRecord *rr, DnsResourceRecord *nsec3) {
                 return 0;
         if (rr->nsec3.salt_size != nsec3->nsec3.salt_size)
                 return 0;
-        if (memcmp(rr->nsec3.salt, nsec3->nsec3.salt, rr->nsec3.salt_size) != 0)
+        if (memcmp_safe(rr->nsec3.salt, nsec3->nsec3.salt, rr->nsec3.salt_size) != 0)
                 return 0;
 
         a = dns_resource_key_name(rr->key);
index 2cc606f363d630da56bbb13bbd0afa1df7033f18..6a615e3762d398c25bca74fa3a450d7252e2b38f 100644 (file)
@@ -383,7 +383,7 @@ int dns_packet_append_blob(DnsPacket *p, const void *d, size_t l, size_t *start)
         if (r < 0)
                 return r;
 
-        memcpy(q, d, l);
+        memcpy_safe(q, d, l);
         return 0;
 }