diff options
author | marha <marha@users.sourceforge.net> | 2014-04-14 23:45:39 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-04-14 23:45:39 +0200 |
commit | 7c21629fbeb51b65fd0625bb36d888587d62fd89 (patch) | |
tree | 425433df36d64f529d2222de2d1680e0b0abca3f /openssl/engines/ccgost/gosthash.c | |
parent | 0bd141efd4832e01c8b269b8566dd5749e30ed55 (diff) | |
parent | 242d48135a12fc9167430f391ba0d27d9ad44c6b (diff) | |
download | vcxsrv-7c21629fbeb51b65fd0625bb36d888587d62fd89.tar.gz vcxsrv-7c21629fbeb51b65fd0625bb36d888587d62fd89.tar.bz2 vcxsrv-7c21629fbeb51b65fd0625bb36d888587d62fd89.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
openssl/Configure
openssl/Makefile
openssl/util/pl/VC-32.pl
Diffstat (limited to 'openssl/engines/ccgost/gosthash.c')
-rw-r--r-- | openssl/engines/ccgost/gosthash.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/openssl/engines/ccgost/gosthash.c b/openssl/engines/ccgost/gosthash.c index 8c278aa64..91b2ce882 100644 --- a/openssl/engines/ccgost/gosthash.c +++ b/openssl/engines/ccgost/gosthash.c @@ -180,8 +180,6 @@ int start_hash(gost_hash_ctx *ctx) */ int hash_block(gost_hash_ctx *ctx,const byte *block, size_t length) { - const byte *curptr=block; - const byte *barrier=block+(length-32);/* Last byte we can safely hash*/ if (ctx->left) { /*There are some bytes from previous step*/ @@ -196,24 +194,25 @@ int hash_block(gost_hash_ctx *ctx,const byte *block, size_t length) { return 1; } - curptr=block+add_bytes; + block+=add_bytes; + length-=add_bytes; hash_step(ctx->cipher_ctx,ctx->H,ctx->remainder); add_blocks(32,ctx->S,ctx->remainder); ctx->len+=32; ctx->left=0; } - while (curptr<=barrier) + while (length>=32) { - hash_step(ctx->cipher_ctx,ctx->H,curptr); + hash_step(ctx->cipher_ctx,ctx->H,block); - add_blocks(32,ctx->S,curptr); + add_blocks(32,ctx->S,block); ctx->len+=32; - curptr+=32; + block+=32; + length-=32; } - if (curptr!=block+length) + if (length) { - ctx->left=block+length-curptr; - memcpy(ctx->remainder,curptr,ctx->left); + memcpy(ctx->remainder,block,ctx->left=length); } return 1; } |