diff options
Diffstat (limited to 'src/crypto/sha512-internal.c')
-rw-r--r-- | src/crypto/sha512-internal.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/crypto/sha512-internal.c b/src/crypto/sha512-internal.c index 76c4fe750b65..c0263941c123 100644 --- a/src/crypto/sha512-internal.c +++ b/src/crypto/sha512-internal.c @@ -109,9 +109,14 @@ static const u64 K[80] = { /* compress 1024-bits */ static int sha512_compress(struct sha512_state *md, unsigned char *buf) { - u64 S[8], W[80], t0, t1; + u64 S[8], t0, t1; + u64 *W; int i; + W = os_malloc(80 * sizeof(u64)); + if (!W) + return -1; + /* copy state into S */ for (i = 0; i < 8; i++) { S[i] = md->state[i]; @@ -146,6 +151,7 @@ static int sha512_compress(struct sha512_state *md, unsigned char *buf) md->state[i] = md->state[i] + S[i]; } + os_free(W); return 0; } |