X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/374330e25a6b51c40436fa869a381dd510790f6e..06a03685046a1ac5100191176bce758b70a35343:/sshrand.c diff --git a/sshrand.c b/sshrand.c index 17ef6e34..e739113a 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) {