summaryrefslogtreecommitdiff
path: root/host/lib/signature_digest.c
diff options
context:
space:
mode:
Diffstat (limited to 'host/lib/signature_digest.c')
-rw-r--r--host/lib/signature_digest.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/host/lib/signature_digest.c b/host/lib/signature_digest.c
index 025a9ffe..7f309b18 100644
--- a/host/lib/signature_digest.c
+++ b/host/lib/signature_digest.c
@@ -40,14 +40,19 @@ uint8_t* SignatureDigest(const uint8_t* buf, uint64_t len,
uint8_t* info_digest = NULL;
uint8_t digest[VB2_SHA512_DIGEST_SIZE]; /* Longest digest */
+ enum vb2_hash_algorithm hash_alg;
if (algorithm >= VB2_ALG_COUNT) {
- fprintf(stderr, "SignatureDigest(): "
- "Called with invalid algorithm!\n");
- } else if (VB2_SUCCESS ==
- vb2_digest_buffer(buf, len, vb2_crypto_to_hash(algorithm),
- digest, sizeof(digest))) {
- info_digest = PrependDigestInfo(algorithm, digest);
+ fprintf(stderr,
+ "SignatureDigest(): Called with invalid algorithm!\n");
+ return NULL;
+ }
+
+ hash_alg = vb2_crypto_to_hash(algorithm);
+
+ if (VB2_SUCCESS == vb2_digest_buffer(buf, len, hash_alg,
+ digest, sizeof(digest))) {
+ info_digest = PrependDigestInfo(hash_alg, digest);
}
return info_digest;
}