gostr3411-94: Fix the iteration count for length filling loop.
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Sun, 28 Dec 2014 09:05:43 +0000 (12:05 +0300)
committerWerner Koch <wk@gnupg.org>
Tue, 6 Jan 2015 13:57:15 +0000 (14:57 +0100)
* cipher/gostr3411-94.c (gost3411_final): Fix loop
--

The maximum iteration count for filling the l (bit length) array was
incrrectly set to 32 (missed that in u8->u32 refactoring). This was
not resulting in stack corruption, since nblocks variable would be
exausted earlier compared to 8 32-bit values (the size of the array).

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
cipher/gostr3411-94.c

index 91e5b4c..7b16e61 100644 (file)
@@ -307,7 +307,7 @@ gost3411_final (void *context)
   l[0] |= nblocks << 8;
   nblocks >>= 24;
 
-  for (i = 1; i < 32 && nblocks != 0; i++)
+  for (i = 1; i < 8 && nblocks != 0; i++)
     {
       l[i] = nblocks;
       nblocks >>= 24;