From 88aead263c61d86e5f836028f517cfbf2a575498 Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Wed, 17 Mar 2021 16:58:22 -0400 Subject: [PATCH] node: Avoid potential UB by asserting assumptions --- src/node/coin.cpp | 1 + src/node/transaction.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/node/coin.cpp b/src/node/coin.cpp index 263dcff6570..23d4fa2aaef 100644 --- a/src/node/coin.cpp +++ b/src/node/coin.cpp @@ -11,6 +11,7 @@ void FindCoins(const NodeContext& node, std::map& coins) { assert(node.mempool); + assert(node.chainman); LOCK2(cs_main, node.mempool->cs); assert(std::addressof(::ChainstateActive()) == std::addressof(node.chainman->ActiveChainstate())); CCoinsViewCache& chain_view = node.chainman->ActiveChainstate().CoinsTip(); diff --git a/src/node/transaction.cpp b/src/node/transaction.cpp index f47e85acebb..691b2791d73 100644 --- a/src/node/transaction.cpp +++ b/src/node/transaction.cpp @@ -38,6 +38,7 @@ TransactionError BroadcastTransaction(NodeContext& node, const CTransactionRef t bool callback_set = false; { // cs_main scope + assert(node.chainman); LOCK(cs_main); assert(std::addressof(::ChainstateActive()) == std::addressof(node.chainman->ActiveChainstate())); // If the transaction is already confirmed in the chain, don't do anything