]> wagner.pp.ru Git - openssl-gost/engine.git/commitdiff
gosthash2012: Simplify `pad'
authordmitry dulesov <dmitry.dulesov@gmail.com>
Thu, 30 Jan 2020 00:50:54 +0000 (03:50 +0300)
committerDmitry Belyavskiy <beldmit@users.noreply.github.com>
Sun, 2 Feb 2020 18:05:29 +0000 (21:05 +0300)
`pad' does not need this complicated  memory movements using stack
buffer.

Committed-by: Vitaly Chikunov <vt@altlinux.org>
gosthash2012.c

index 0233d0ababa8e675a95e8139396546b87919ea22..201fe317ec23fb954e023c6b7a9fc48b5b0993eb 100644 (file)
@@ -48,13 +48,9 @@ void init_gost2012_hash_ctx(gost2012_hash_ctx * CTX,
 
 static INLINE void pad(gost2012_hash_ctx * CTX)
 {
-    unsigned char buf[64];
+    memset(&(CTX->buffer[CTX->bufsize]), 0, sizeof(CTX->buffer) - CTX->bufsize);
+    CTX->buffer[CTX->bufsize] = 1;
 
-    memset(&buf, 0x00, sizeof buf);
-    memcpy(&buf, CTX->buffer, CTX->bufsize);
-
-    buf[CTX->bufsize] = 0x01;
-    memcpy(CTX->buffer, &buf, sizeof buf);
 }
 
 static INLINE void add512(const union uint512_u *x,