The use of the PURIFY macro in ssleay_rand_bytes() is sufficient to
authorLutz Jänicke <jaenicke@openssl.org>
Fri, 21 Sep 2007 10:10:47 +0000 (10:10 +0000)
committerLutz Jänicke <jaenicke@openssl.org>
Fri, 21 Sep 2007 10:10:47 +0000 (10:10 +0000)
resolve the Valgrind issue with random numbers. Undo the changes to
RAND_bytes() and RAND_pseudo_bytes() that are redundant in this
respect.
Update documentation and FAQ accordingly, as the PURIFY macro is
available at least since 0.9.7.

FAQ
crypto/rand/rand_lib.c
doc/crypto/RAND_bytes.pod

diff --git a/FAQ b/FAQ
index 4a1fb5f94e5bace258534df603ffbe5711536b1b..c56dbadc9df5255bdbf6706102daaf273ad21cae 100644 (file)
--- a/FAQ
+++ b/FAQ
@@ -904,8 +904,6 @@ other test tools) will complain about this. When using Valgrind, make sure the
 OpenSSL library has been compiled with the PURIFY macro defined (-DPURIFY)
 to get rid of these warnings
 
-The use of PURIFY with the PRNG was added in OpenSSL 0.9.8f.
-
 
 ===============================================================================
 
index f0ddc1ee45f6840fa99e5b543bcbe93b51002ab7..513e3389859e9f4a504cbd0796d1df3b88315cd7 100644 (file)
@@ -154,9 +154,6 @@ void RAND_add(const void *buf, int num, double entropy)
 int RAND_bytes(unsigned char *buf, int num)
        {
        const RAND_METHOD *meth = RAND_get_rand_method();
-#ifdef PURIFY
-       memset(buf, 0, num);
-#endif
        if (meth && meth->bytes)
                return meth->bytes(buf,num);
        return(-1);
@@ -165,9 +162,6 @@ int RAND_bytes(unsigned char *buf, int num)
 int RAND_pseudo_bytes(unsigned char *buf, int num)
        {
        const RAND_METHOD *meth = RAND_get_rand_method();
-#ifdef PURIFY
-       memset(buf, 0, num);
-#endif
        if (meth && meth->pseudorand)
                return meth->pseudorand(buf,num);
        return(-1);
index 34f8cd2544b00df7f69eb5dc3cd2721ab4825e49..1a9b91e28144222419516b99392b3222c50d865b 100644 (file)
@@ -26,7 +26,7 @@ certain purposes in cryptographic protocols, but usually not for key
 generation etc.
 
 The contents of B<buf> is mixed into the entropy pool before retrieving
-the new pseudo-random bytes unless disabled at compile time.
+the new pseudo-random bytes unless disabled at compile time (see FAQ).
 
 =head1 RETURN VALUES