aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2019-11-20 10:54:08 -0800
committerPieter Wuille <pieter.wuille@gmail.com>2019-11-20 10:54:08 -0800
commitf93fc61c65d605eae2d3e2c98bdd30ae587fcdab (patch)
treeff891d283c6321a09d80624b31b8082def66c912
parentba2c5fe1477cec80d7e02f824daba21a1021758e (diff)
downloadbitcoin-f93fc61c65d605eae2d3e2c98bdd30ae587fcdab.tar.xz
Put bounds on the number of CPUID leaves explored
-rw-r--r--src/randomenv.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/randomenv.cpp b/src/randomenv.cpp
index 79f7bc93b1..6992c720ff 100644
--- a/src/randomenv.cpp
+++ b/src/randomenv.cpp
@@ -197,9 +197,9 @@ void AddAllCPUID(CSHA512& hasher)
// Iterate over all standard leaves
AddCPUID(hasher, 0, 0, ax, bx, cx, dx); // Returns max leaf in ax
uint32_t max = ax;
- for (uint32_t leaf = 1; leaf <= max; ++leaf) {
+ for (uint32_t leaf = 1; leaf <= max && leaf <= 0xFF; ++leaf) {
uint32_t maxsub = 0;
- for (uint32_t subleaf = 0;; ++subleaf) {
+ for (uint32_t subleaf = 0; subleaf <= 0xFF; ++subleaf) {
AddCPUID(hasher, leaf, subleaf, ax, bx, cx, dx);
// Iterate subleafs for leaf values 4, 7, 11, 13
if (leaf == 4) {
@@ -220,7 +220,7 @@ void AddAllCPUID(CSHA512& hasher)
// Iterate over all extended leaves
AddCPUID(hasher, 0x80000000, 0, ax, bx, cx, dx); // Returns max extended leaf in ax
uint32_t ext_max = ax;
- for (uint32_t leaf = 0x80000001; leaf <= ext_max; ++leaf) {
+ for (uint32_t leaf = 0x80000001; leaf <= ext_max && leaf <= 0x800000FF; ++leaf) {
AddCPUID(hasher, leaf, 0, ax, bx, cx, dx);
}
}