summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qhash.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2021-04-02 17:25:12 -0700
committerThiago Macieira <thiago.macieira@intel.com>2021-05-23 12:08:43 -0700
commita5ff71578da5f6441ab8b07ae1fbf736d7f1e3ba (patch)
tree9c7dafcc4de56e2d26bf2f7ff2a795fd70ea6be3 /src/corelib/tools/qhash.cpp
parent928ce402a41c291e6f746cac903a4a44702c4689 (diff)
QRandomGenerator: let qt_initial_random_value() return 128 bits of data
It's how much there is in Linux's AT_RANDOM block. I've also removed the check for validity. It's highly unlikely that 128 bits are bad. Change-Id: Id2983978ad544ff79911fffd16723161ea7ec315 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/corelib/tools/qhash.cpp')
-rw-r--r--src/corelib/tools/qhash.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp
index 380bc0d7ea..dcb90a530d 100644
--- a/src/corelib/tools/qhash.cpp
+++ b/src/corelib/tools/qhash.cpp
@@ -743,7 +743,8 @@ static size_t qt_create_qhash_seed(HashCreationMode mode)
}
seed = 1; // QHashSeed::globalSeed subtracts 1
} else if (mode == Initial) {
- seed = qt_initial_random_value();
+ auto data = qt_initial_random_value();
+ seed = data.data[0] ^ data.data[1];
} else if (sizeof(seed) > sizeof(uint)) {
seed = QRandomGenerator::system()->generate64();
} else {