diff --git a/src/core/hle/service/acc/profile_manager.h b/src/core/hle/service/acc/profile_manager.h index 908519095..314bccbf9 100644 --- a/src/core/hle/service/acc/profile_manager.h +++ b/src/core/hle/service/acc/profile_manager.h @@ -5,6 +5,7 @@ #pragma once #include +#include #include "boost/optional.hpp" #include "common/common_types.h" #include "common/swap.h" @@ -38,8 +39,12 @@ struct UUID { // TODO(ogniK): Properly generate uuids based on RFC-4122 const UUID& Generate() { - uuid[0] = (static_cast(std::rand()) << 32) | std::rand(); - uuid[1] = (static_cast(std::rand()) << 32) | std::rand(); + std::random_device device; + std::mt19937 gen(device()); + std::uniform_int_distribution distribution(1, + std::numeric_limits::max()); + uuid[0] = distribution(gen); + uuid[1] = distribution(gen); return *this; }