The use of the PURIFY macro in ssleay_rand_bytes() is sufficient to
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.
This commit is contained in:
2
FAQ
2
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.
|
||||
|
||||
|
||||
===============================================================================
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user