mirror of
https://github.com/Kitware/CMake.git
synced 2026-02-18 05:01:50 -06:00
Merge topic 'reduce-entropy-consumption'
f23f18abcmSystemTools: Avoid excess entropy consumption by RandomSeed (#15976)b13a74b3cmSystemTools: Remove unused include <fcntl.h>
This commit is contained in:
@@ -60,8 +60,7 @@
|
||||
#endif
|
||||
|
||||
#if defined(CMAKE_BUILD_WITH_CMAKE)
|
||||
# include <fcntl.h>
|
||||
# include "cmCryptoHash.h"
|
||||
# include "cmCryptoHash.h"
|
||||
#endif
|
||||
|
||||
#if defined(CMAKE_USE_ELF_PARSER)
|
||||
@@ -2184,8 +2183,10 @@ unsigned int cmSystemTools::RandomSeed()
|
||||
} seed;
|
||||
|
||||
// Try using a real random source.
|
||||
cmsys::ifstream fin("/dev/urandom");
|
||||
if(fin && fin.read(seed.bytes, sizeof(seed)) &&
|
||||
cmsys::ifstream fin;
|
||||
fin.rdbuf()->pubsetbuf(0, 0); // Unbuffered read.
|
||||
fin.open("/dev/urandom");
|
||||
if(fin.good() && fin.read(seed.bytes, sizeof(seed)) &&
|
||||
fin.gcount() == sizeof(seed))
|
||||
{
|
||||
return seed.integer;
|
||||
|
||||
Reference in New Issue
Block a user