From: simon Date: Mon, 2 Aug 1999 08:35:11 +0000 (+0000) Subject: Fix potential security problems in random number generator X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/commitdiff_plain/a1a27668d9b50bf95f517683b35fb4c5f5f16ca6?ds=sidebyside Fix potential security problems in random number generator git-svn-id: svn://svn.tartarus.org/sgt/putty@190 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/sshrand.c b/sshrand.c index 17ef6e34..b3bd08bf 100644 --- a/sshrand.c +++ b/sshrand.c @@ -52,8 +52,8 @@ void random_add_noise(void *noise, int length) { pool.incomingpos = 0; } - memcpy(pool.incomingb, p, length); - pool.incomingpos = length; + memcpy(pool.incomingb + pool_incomingpos, p, length); + pool.incomingpos += length; } void random_stir(void) { @@ -121,7 +121,7 @@ void random_stir(void) { * there'll be some extra bizarreness there. */ SHATransform(digest, block); - memcpy(digest, pool.incoming, sizeof(digest)); + memcpy(pool.incoming, digest, sizeof(digest)); pool.poolpos = sizeof(pool.incoming); } @@ -137,8 +137,8 @@ static void random_add_heavynoise(void *noise, int length) { pool.poolpos = 0; } - memcpy(pool.pool, p, length); - pool.poolpos = length; + memcpy(pool.pool + pool.poolpos, p, length); + pool.poolpos += length; } void random_init(void) {