summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-02-05 10:07:39 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2018-02-05 10:08:18 +0100
commit15c533103a75af7266c557e0bf32a403d8635430 (patch)
treeb362f9ce0bdf6c6eb4500ba63e8618ac539b47e3
parent8530efc1c3d600e9ed23175c41ff8a0e79dab327 (diff)
downloadsystemd-15c533103a75af7266c557e0bf32a403d8635430.tar.gz
resolved: use _cleanup_ in one more place
No functional change.
-rw-r--r--src/resolve/resolved-dns-dnssec.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/resolve/resolved-dns-dnssec.c b/src/resolve/resolved-dns-dnssec.c
index 05941473b0..1bd2c93a33 100644
--- a/src/resolve/resolved-dns-dnssec.c
+++ b/src/resolve/resolved-dns-dnssec.c
@@ -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) {