diff options
author | Krzysztof Halasa <khc@pm.waw.pl> | 2012-06-07 15:05:11 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2012-06-07 19:39:09 +0200 |
commit | 76c7d6b3c7d8593bbe0429e271a2a278f3e6e39f (patch) | |
tree | bf1aff31a1b4ae54a224fef088956196837ca221 /crypto/sha2.c | |
parent | edfe50ce405ca41f83828a58d15278b1c9a470c7 (diff) | |
download | barebox-76c7d6b3c7d8593bbe0429e271a2a278f3e6e39f.tar.gz barebox-76c7d6b3c7d8593bbe0429e271a2a278f3e6e39f.tar.xz |
Fix SHA224 to produce 28 bytes of hash (instead of 32).
This fixes a panic in sha224sum.
Signed-off-by: Krzysztof HaĆasa <khc@pm.waw.pl>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'crypto/sha2.c')
-rw-r--r-- | crypto/sha2.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/sha2.c b/crypto/sha2.c index 3096efe925..afbe0c3e31 100644 --- a/crypto/sha2.c +++ b/crypto/sha2.c @@ -274,7 +274,8 @@ static void sha2_finish(sha2_context * ctx, uint8_t digest[32]) PUT_UINT32_BE(ctx->state[4], digest, 16); PUT_UINT32_BE(ctx->state[5], digest, 20); PUT_UINT32_BE(ctx->state[6], digest, 24); - PUT_UINT32_BE(ctx->state[7], digest, 28); + if (!ctx->is224) + PUT_UINT32_BE(ctx->state[7], digest, 28); } struct sha2 { |