if (zonemd_required == 1
&& !ldns_dnssec_zone_find_rrset(dnssec_zone,
- dnssec_zone->soa->name, LDNS_RR_TYPE_DNSKEY))
+ dnssec_zone->soa->name, LDNS_RR_TYPE_DNSKEY)) {
+ ldns_rr_list_deep_free(keys);
result = LDNS_STATUS_OK;
- else
+ } else
result = verify_dnssec_zone(dnssec_zone,
dnssec_zone->soa->name, keys, apexonly,
percentage, zonemd_required > 2);
ldns_dnssec_zone_deep_free(dnssec_zone);
fclose(fp);
- ldns_rr_list_deep_free(keys);
exit(result);
}
sha2_word64 a, b, c, d, e, f, g, h, s0, s1;
sha2_word64 T1, T2, *W512 = (sha2_word64*)context->buffer;
int j;
+ sha2_word64 aligned;
/* initialize registers with the prev. intermediate value */
a = context->state[0];
do {
#if BYTE_ORDER == LITTLE_ENDIAN
/* Convert TO host byte order */
- REVERSE64(*data++, W512[j]);
+ memcpy(&aligned, data++, sizeof(aligned));
+ REVERSE64(aligned, W512[j]);
/* Apply the SHA-512 compression function to update a..h */
T1 = h + Sigma1_512(e) + Ch(e, f, g) + K512[j] + W512[j];
#else /* BYTE_ORDER == LITTLE_ENDIAN */