X-Git-Url: http://www.wagner.pp.ru/gitweb/?p=openssl-gost%2Fengine.git;a=blobdiff_plain;f=gosthash.c;h=7fd3cb058b6abf27ddd49c00552708e19825a1c1;hp=b3d80d4ac62edb2fbe91df823100d391dfb426d8;hb=HEAD;hpb=02f99b2e3b46f4ff44fd5420487551d5a447c2ad diff --git a/gosthash.c b/gosthash.c index b3d80d4..7fd3cb0 100644 --- a/gosthash.c +++ b/gosthash.c @@ -65,9 +65,8 @@ static int add_blocks(int n, byte * left, const byte * right) { int i; int carry = 0; - int sum; for (i = 0; i < n; i++) { - sum = (int)left[i] + (int)right[i] + carry; + int sum = (int)left[i] + (int)right[i] + carry; left[i] = sum & 0xff; carry = sum >> 8; } @@ -255,6 +254,8 @@ int finish_hash(gost_hash_ctx * ctx, byte * hashval) fin_len += ctx->left; } memset(buf, 0, 32); + if (fin_len == 0) + hash_step(ctx->cipher_ctx, H, buf); bptr = buf; fin_len <<= 3; /* Hash length in BITS!! */ while (fin_len > 0) {