diff options
author | Tom Smeding <tom.smeding@gmail.com> | 2019-07-03 11:05:01 +0200 |
---|---|---|
committer | Tom Smeding <tom.smeding@gmail.com> | 2019-08-15 16:33:15 +0200 |
commit | 7b9a420787c71624ff0e9c6bcfe1e72c74feb677 (patch) | |
tree | 587dcbf07b08a78775b1f517067c49d816f0ef50 /src/p2p | |
parent | Merge pull request #5779 (diff) | |
download | monero-7b9a420787c71624ff0e9c6bcfe1e72c74feb677.tar.xz |
Replace std::random_shuffle with std::shuffle
According to [1], std::random_shuffle is deprecated in C++14 and removed
in C++17. Since std::shuffle is available since C++11 as a replacement
and monero already requires C++11, this is a good replacement.
A cryptographically secure random number generator is used in all cases
to prevent people from perhaps copying an insecure std::shuffle call
over to a place where a secure one would be warranted. A form of
defense-in-depth.
[1]: https://en.cppreference.com/w/cpp/algorithm/random_shuffle
Diffstat (limited to 'src/p2p')
-rw-r--r-- | src/p2p/net_peerlist.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/p2p/net_peerlist.h b/src/p2p/net_peerlist.h index 883997fd6..3041e03b1 100644 --- a/src/p2p/net_peerlist.h +++ b/src/p2p/net_peerlist.h @@ -290,7 +290,7 @@ namespace nodetool if (anonymize) { - std::random_shuffle(bs_head.begin(), bs_head.end()); + std::shuffle(bs_head.begin(), bs_head.end(), crypto::random_device{}); if (bs_head.size() > depth) bs_head.resize(depth); for (auto &e: bs_head) |