mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 23:07:59 +01:00
Merge bitcoin/bitcoin#24032: Add defaults to vDeployments to avoid uninitialized variables
c4c5b9ca6e
consensus/params: set default values for BIP9Deployment (Anthony Towns) Pull request description: Adds default values for `vDeployments` in `consensus/params.h` so that undefined behaviour is avoided if a deployment is not initialized. Also adds a check in the unit tests to alert if this is happening, since even if it doesn't invoke undefined behaviour it's probably a mistake. ACKs for top commit: laanwj: Code review ACKc4c5b9ca6e
Tree-SHA512: 22d7ff86a817d9e9e67c47301fc3b7e9d5821c13565d7706711f113dea220eea29b413a7c8d029691009159cebc85a108d77cb52418734091c196bafb2b12423
This commit is contained in:
commit
c5e67be03b
2 changed files with 4 additions and 3 deletions
|
@ -40,11 +40,11 @@ constexpr bool ValidDeployment(DeploymentPos dep) { return dep < MAX_VERSION_BIT
|
||||||
*/
|
*/
|
||||||
struct BIP9Deployment {
|
struct BIP9Deployment {
|
||||||
/** Bit position to select the particular bit in nVersion. */
|
/** Bit position to select the particular bit in nVersion. */
|
||||||
int bit;
|
int bit{28};
|
||||||
/** Start MedianTime for version bits miner confirmation. Can be a date in the past */
|
/** Start MedianTime for version bits miner confirmation. Can be a date in the past */
|
||||||
int64_t nStartTime;
|
int64_t nStartTime{NEVER_ACTIVE};
|
||||||
/** Timeout/expiry MedianTime for the deployment attempt. */
|
/** Timeout/expiry MedianTime for the deployment attempt. */
|
||||||
int64_t nTimeout;
|
int64_t nTimeout{NEVER_ACTIVE};
|
||||||
/** If lock in occurs, delay activation until at least this block
|
/** If lock in occurs, delay activation until at least this block
|
||||||
* height. Note that activation will only occur on a retarget
|
* height. Note that activation will only occur on a retarget
|
||||||
* boundary.
|
* boundary.
|
||||||
|
|
|
@ -273,6 +273,7 @@ static void check_computeblockversion(VersionBitsCache& versionbitscache, const
|
||||||
nStartTime == Consensus::BIP9Deployment::NEVER_ACTIVE)
|
nStartTime == Consensus::BIP9Deployment::NEVER_ACTIVE)
|
||||||
{
|
{
|
||||||
BOOST_CHECK_EQUAL(min_activation_height, 0);
|
BOOST_CHECK_EQUAL(min_activation_height, 0);
|
||||||
|
BOOST_CHECK_EQUAL(nTimeout, Consensus::BIP9Deployment::NO_TIMEOUT);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue