From c96524113c48553c4bbad63077a25494eca8159e Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Wed, 23 Feb 2022 15:21:09 -0500 Subject: [PATCH] Clear pindexBestHeader in ChainstateManager::Unload() ----- Code Reviewer Notes Call graph of relevant functions: UnloadBlockIndex() <-- Moved from calls ChainstateManager::Unload() <-- Moved to Safe because ChainstateManager::Unload() is called only by UnloadBlockIndex() and no other callers. --- src/validation.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/validation.cpp b/src/validation.cpp index 9a68f8591a..82b543230b 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -4122,7 +4122,6 @@ void UnloadBlockIndex(CTxMemPool* mempool, ChainstateManager& chainman) { AssertLockHeld(::cs_main); chainman.Unload(); - chainman.pindexBestHeader = nullptr; if (mempool) mempool->clear(); g_versionbitscache.Clear(); for (int b = 0; b < VERSIONBITS_NUM_BITS; b++) { @@ -5171,6 +5170,7 @@ void ChainstateManager::Unload() m_failed_blocks.clear(); m_blockman.Unload(); + pindexBestHeader = nullptr; m_best_invalid = nullptr; }