aboutsummaryrefslogtreecommitdiff
path: root/openssl/crypto/rand/md_rand.c
diff options
context:
space:
mode:
Diffstat (limited to 'openssl/crypto/rand/md_rand.c')
-rw-r--r--openssl/crypto/rand/md_rand.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/openssl/crypto/rand/md_rand.c b/openssl/crypto/rand/md_rand.c
index 88088ce73..b2f04ff13 100644
--- a/openssl/crypto/rand/md_rand.c
+++ b/openssl/crypto/rand/md_rand.c
@@ -476,11 +476,14 @@ static int ssleay_rand_bytes(unsigned char *buf, int num)
MD_Update(&m,(unsigned char *)&(md_c[0]),sizeof(md_c));
#ifndef PURIFY /* purify complains */
- /* DO NOT REMOVE THE FOLLOWING CALL TO MD_Update()! */
+ /* The following line uses the supplied buffer as a small
+ * source of entropy: since this buffer is often uninitialised
+ * it may cause programs such as purify or valgrind to
+ * complain. So for those builds it is not used: the removal
+ * of such a small source of entropy has negligible impact on
+ * security.
+ */
MD_Update(&m,buf,j);
- /* We know that line may cause programs such as
- purify and valgrind to complain about use of
- uninitialized data. */
#endif
k=(st_idx+MD_DIGEST_LENGTH/2)-st_num;