]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolved: use _cleanup_ in one more place 8100/head
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 5 Feb 2018 09:07:39 +0000 (10:07 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 5 Feb 2018 09:08:18 +0000 (10:08 +0100)
No functional change.

src/resolve/resolved-dns-dnssec.c

index 05941473b0ee5e72e7473f1be800dac5bb3dc60d..1bd2c93a3374824b8a694ccf113f5d923804e8c4 100644 (file)
@@ -1167,7 +1167,7 @@ static int digest_to_gcrypt_md(uint8_t algorithm) {
 
 int dnssec_verify_dnskey_by_ds(DnsResourceRecord *dnskey, DnsResourceRecord *ds, bool mask_revoke) {
         char owner_name[DNSSEC_CANONICAL_HOSTNAME_MAX];
-        gcry_md_hd_t md = NULL;
+        _cleanup_(gcry_md_closep) gcry_md_hd_t md = NULL;
         size_t hash_size;
         int md_algorithm, r;
         void *result;
@@ -1223,16 +1223,10 @@ int dnssec_verify_dnskey_by_ds(DnsResourceRecord *dnskey, DnsResourceRecord *ds,
         gcry_md_write(md, dnskey->dnskey.key, dnskey->dnskey.key_size);
 
         result = gcry_md_read(md, 0);
-        if (!result) {
-                r = -EIO;
-                goto finish;
-        }
-
-        r = memcmp(result, ds->ds.digest, ds->ds.digest_size) != 0;
+        if (!result)
+                return -EIO;
 
-finish:
-        gcry_md_close(md);
-        return r;
+        return memcmp(result, ds->ds.digest, ds->ds.digest_size) != 0;
 }
 
 int dnssec_verify_dnskey_by_ds_search(DnsResourceRecord *dnskey, DnsAnswer *validated_ds) {