diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2019-11-20 10:54:08 -0800 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2019-11-20 10:54:08 -0800 |
commit | f93fc61c65d605eae2d3e2c98bdd30ae587fcdab (patch) | |
tree | ff891d283c6321a09d80624b31b8082def66c912 /src/randomenv.cpp | |
parent | ba2c5fe1477cec80d7e02f824daba21a1021758e (diff) |
Put bounds on the number of CPUID leaves explored
Diffstat (limited to 'src/randomenv.cpp')
-rw-r--r-- | src/randomenv.cpp | 6 |
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); } } |