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
This commit is contained in:
@@ -354,7 +354,7 @@ namespace cryptonote
|
||||
|
||||
if (shuffle_outs)
|
||||
{
|
||||
std::shuffle(destinations.begin(), destinations.end(), std::default_random_engine(crypto::rand<unsigned int>()));
|
||||
std::shuffle(destinations.begin(), destinations.end(), crypto::random_device{});
|
||||
}
|
||||
|
||||
// sort ins by their key image
|
||||
|
||||
Reference in New Issue
Block a user