fuzz: Abort when using global PRNG without re-seed

This commit is contained in:
MarcoFalke
2024-12-13 14:42:21 +01:00
parent fa7809aeab
commit fa18acb457
7 changed files with 77 additions and 2 deletions

View File

@@ -12,6 +12,8 @@
#include <cstdlib>
#include <iostream>
std::atomic<bool> g_seeded_g_prng_zero{false};
extern void MakeRandDeterministicDANGEROUS(const uint256& seed) noexcept;
void SeedRandomStateForTest(SeedRand seedtype)
@@ -36,6 +38,7 @@ void SeedRandomStateForTest(SeedRand seedtype)
return GetRandHash();
}();
g_seeded_g_prng_zero = seedtype == SeedRand::ZEROS;
const uint256& seed{seedtype == SeedRand::FIXED_SEED ? ctx_seed : uint256::ZERO};
LogInfo("Setting random seed for current tests to %s=%s\n", RANDOM_CTX_SEED, seed.GetHex());
MakeRandDeterministicDANGEROUS(seed);