From fe927a6d0e7d7f75e0b845231f0c0ee518b8c0d0 Mon Sep 17 00:00:00 2001 From: cameronrich Date: Sat, 1 May 2010 04:56:01 +0000 Subject: [PATCH] account for output buffer being smaller than entropy pool git-svn-id: svn://svn.code.sf.net/p/axtls/code/trunk@168 9a5d90b5-6617-0410-8a86-bb477d3ed2e3 --- crypto/crypto_misc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/crypto_misc.c b/crypto/crypto_misc.c index fb257dd54..5efa2cb55 100644 --- a/crypto/crypto_misc.c +++ b/crypto/crypto_misc.c @@ -196,7 +196,8 @@ EXP_FUNC void STDCALL get_random(int num_rand_bytes, uint8_t *rand_data) /* come up with the random sequence */ RC4_setup(&rng_ctx, digest, MD5_SIZE); /* use as a key */ - memcpy(rand_data, entropy_pool, ENTROPY_POOL_SIZE); + memcpy(rand_data, entropy_pool, num_rand_bytes < ENTROPY_POOL_SIZE ? + num_rand_bytes : ENTROPY_POOL_SIZE); RC4_crypt(&rng_ctx, rand_data, rand_data, num_rand_bytes); /* move things along */