From 438ac2947dd76f9abd11d73b442656d5c77754cf Mon Sep 17 00:00:00 2001 From: Mark Friedenbach Date: Sat, 4 Nov 2023 12:32:17 -0700 Subject: snapshots: don't core dump when running -checkblockindex after `loadtxoutset` Github-Pull: #28791 Rebased-From: cdc6ac4126b31426261605a757c52ea2dbfb2a81 --- src/validation.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/validation.cpp b/src/validation.cpp index a6cab6b095..5d435fef8b 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -4850,7 +4850,9 @@ void ChainstateManager::CheckBlockIndex() // For testing, allow transaction counts to be completely unset. || (pindex->nChainTx == 0 && pindex->nTx == 0) // For testing, allow this nChainTx to be unset if previous is also unset. - || (pindex->nChainTx == 0 && prev_chain_tx == 0 && pindex->pprev)); + || (pindex->nChainTx == 0 && prev_chain_tx == 0 && pindex->pprev) + // Transaction counts prior to snapshot are unknown. + || pindex->IsAssumedValid()); if (pindexFirstAssumeValid == nullptr && pindex->nStatus & BLOCK_ASSUMED_VALID) pindexFirstAssumeValid = pindex; if (pindexFirstInvalid == nullptr && pindex->nStatus & BLOCK_FAILED_VALID) pindexFirstInvalid = pindex; -- cgit v1.2.3