diff options
author | luigi1111 <luigi1111w@gmail.com> | 2019-09-30 18:43:48 -0500 |
---|---|---|
committer | luigi1111 <luigi1111w@gmail.com> | 2019-09-30 18:43:48 -0500 |
commit | c6430f9dd06df45ed68e603bc81b385e1d19f4a0 (patch) | |
tree | 074baf2a0a32e50cfe8a0fd5507812be39d86fbd /contrib/epee/include | |
parent | Merge pull request #5653 (diff) | |
parent | epee: abstract_tcp_server2: resolve CID 203919 (DC.WEAK_CRYPTO) (diff) | |
download | monero-c6430f9dd06df45ed68e603bc81b385e1d19f4a0.tar.xz |
Merge pull request #5893
Coverity fixes [3a81639, 1bd962d, 2825f07, d099658, d46f701, cd57a10] (anonimal)
Diffstat (limited to 'contrib/epee/include')
-rw-r--r-- | contrib/epee/include/net/abstract_tcp_server2.inl | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/contrib/epee/include/net/abstract_tcp_server2.inl b/contrib/epee/include/net/abstract_tcp_server2.inl index 8d96e4a84..240ef3bc4 100644 --- a/contrib/epee/include/net/abstract_tcp_server2.inl +++ b/contrib/epee/include/net/abstract_tcp_server2.inl @@ -50,6 +50,8 @@ #include <sstream> #include <iomanip> #include <algorithm> +#include <functional> +#include <random> #undef MONERO_DEFAULT_LOG_CATEGORY #define MONERO_DEFAULT_LOG_CATEGORY "net" @@ -628,7 +630,17 @@ PRAGMA_WARNING_DISABLE_VS(4355) return false; // aborted }*/ - long int ms = 250 + (rand()%50); + using engine = std::mt19937; + + engine rng; + std::random_device dev; + std::seed_seq::result_type rand[engine::state_size]{}; // Use complete bit space + + std::generate_n(rand, engine::state_size, std::ref(dev)); + std::seed_seq seed(rand, rand + engine::state_size); + rng.seed(seed); + + long int ms = 250 + (rng() % 50); MDEBUG("Sleeping because QUEUE is FULL, in " << __FUNCTION__ << " for " << ms << " ms before packet_size="<<chunk.size()); // XXX debug sleep m_send_que_lock.unlock(); boost::this_thread::sleep(boost::posix_time::milliseconds( ms ) ); |