aboutsummaryrefslogtreecommitdiff
path: root/gosthash2012.c
diff options
context:
space:
mode:
Diffstat (limited to 'gosthash2012.c')
-rw-r--r--gosthash2012.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gosthash2012.c b/gosthash2012.c
index ee534c2..bbe7dcb 100644
--- a/gosthash2012.c
+++ b/gosthash2012.c
@@ -157,10 +157,13 @@ static void g(union uint512_u *h, const union uint512_u *N,
static INLINE void stage2(gost2012_hash_ctx * CTX, const unsigned char *data)
{
- g(&(CTX->h), &(CTX->N), data);
+ union uint512_u m;
+
+ memcpy(&m, data, sizeof(m));
+ g(&(CTX->h), &(CTX->N), (const unsigned char *)&m);
add512(&(CTX->N), &buffer512, &(CTX->N));
- add512(&(CTX->Sigma), (const union uint512_u *)data, &(CTX->Sigma));
+ add512(&(CTX->Sigma), &m, &(CTX->Sigma));
}
static INLINE void stage3(gost2012_hash_ctx * CTX)