Fix number of blocks passed used in _gcry_rmd160_mixblock
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Fri, 24 Jan 2014 11:02:14 +0000 (15:02 +0400)
committerWerner Koch <wk@gnupg.org>
Mon, 27 Jan 2014 13:21:35 +0000 (14:21 +0100)
* cipher/rmd160.c (_gcry_rmd160_mixblock): pass 1 to transform

--
Currently _gcry_rmd160_mixblock() passes 64 as nblocks to transform()
function, while passing only one block of data. This causes acess after
the allocated data and tons of errors on each valgrind invokation.

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
This fixes commit 50b8c834.

cipher/rmd160.c

index 1a58ba6..2aba0fe 100644 (file)
@@ -421,7 +421,7 @@ _gcry_rmd160_mixblock ( RMD160_CONTEXT *hd, void *blockof64byte )
 {
   char *p = blockof64byte;
 
-  transform ( hd, blockof64byte, 64 );
+  transform ( hd, blockof64byte, 1 );
 #define X(a) do { *(u32*)p = hd->h##a ; p += 4; } while(0)
   X(0);
   X(1);