Auto merge of #3166 - str4d:3132-reset-pindexbestinvalid, r=str4d

When rewinding, reset pindexBestInvalid if it is pointing to a removed block
This commit is contained in:
Homu 2018-04-11 21:41:30 -07:00
commit b89b48cda1
1 changed files with 4 additions and 0 deletions

View File

@ -4058,6 +4058,10 @@ bool RewindBlockIndex(const CChainParams& params)
if (!sufficientlyValidated(pindexIter) && !chainActive.Contains(pindexIter)) {
// Add to the list of blocks to remove
vBlocks.push_back(pindexIter);
if (pindexIter == pindexBestInvalid) {
// Reset invalid block marker if it was pointing to this block
pindexBestInvalid = NULL;
}
// Update indices
setBlockIndexCandidates.erase(pindexIter);
auto ret = mapBlocksUnlinked.equal_range(pindexIter->pprev);