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)
|
OpenSSL library has been compiled with the PURIFY macro defined (-DPURIFY)
|
||||||
to get rid of these warnings
|
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)
|
int RAND_bytes(unsigned char *buf, int num)
|
||||||
{
|
{
|
||||||
const RAND_METHOD *meth = RAND_get_rand_method();
|
const RAND_METHOD *meth = RAND_get_rand_method();
|
||||||
#ifdef PURIFY
|
|
||||||
memset(buf, 0, num);
|
|
||||||
#endif
|
|
||||||
if (meth && meth->bytes)
|
if (meth && meth->bytes)
|
||||||
return meth->bytes(buf,num);
|
return meth->bytes(buf,num);
|
||||||
return(-1);
|
return(-1);
|
||||||
@@ -165,9 +162,6 @@ int RAND_bytes(unsigned char *buf, int num)
|
|||||||
int RAND_pseudo_bytes(unsigned char *buf, int num)
|
int RAND_pseudo_bytes(unsigned char *buf, int num)
|
||||||
{
|
{
|
||||||
const RAND_METHOD *meth = RAND_get_rand_method();
|
const RAND_METHOD *meth = RAND_get_rand_method();
|
||||||
#ifdef PURIFY
|
|
||||||
memset(buf, 0, num);
|
|
||||||
#endif
|
|
||||||
if (meth && meth->pseudorand)
|
if (meth && meth->pseudorand)
|
||||||
return meth->pseudorand(buf,num);
|
return meth->pseudorand(buf,num);
|
||||||
return(-1);
|
return(-1);
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ certain purposes in cryptographic protocols, but usually not for key
|
|||||||
generation etc.
|
generation etc.
|
||||||
|
|
||||||
The contents of B<buf> is mixed into the entropy pool before retrieving
|
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
|
=head1 RETURN VALUES
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user