From a6ae8f55aefe41af4870568abb524b732549e882 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 9 Mar 2018 09:42:20 +0000 Subject: [PATCH] Split declaration and definition of SPROUT_BRANCH_ID constant Fixes an initialization-order-fiasco error detected by ASan: https://ci.z.cash/#/builders/7/builds/149 --- src/consensus/upgrades.cpp | 2 ++ src/consensus/upgrades.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/consensus/upgrades.cpp b/src/consensus/upgrades.cpp index 17606bc63..bbe71e971 100644 --- a/src/consensus/upgrades.cpp +++ b/src/consensus/upgrades.cpp @@ -26,6 +26,8 @@ const struct NUInfo NetworkUpgradeInfo[Consensus::MAX_NETWORK_UPGRADES] = { } }; +const uint32_t SPROUT_BRANCH_ID = NetworkUpgradeInfo[Consensus::BASE_SPROUT].nBranchId; + UpgradeState NetworkUpgradeState( int nHeight, const Consensus::Params& params, diff --git a/src/consensus/upgrades.h b/src/consensus/upgrades.h index 6a9173264..620dc94c4 100644 --- a/src/consensus/upgrades.h +++ b/src/consensus/upgrades.h @@ -27,7 +27,7 @@ struct NUInfo { extern const struct NUInfo NetworkUpgradeInfo[]; // Consensus branch id to identify pre-overwinter (Sprout) consensus rules. -static const uint32_t SPROUT_BRANCH_ID = NetworkUpgradeInfo[Consensus::BASE_SPROUT].nBranchId; +extern const uint32_t SPROUT_BRANCH_ID; /** * Checks the state of a given network upgrade based on block height.