Re-opening #11342 (taking suggestions from comments) which adds sanity asserts for return value of CBlockIndex::GetAncestor()
where appropriate.
In validation.cpp CheckSequenceLocks
, check the return value of tip->GetAncestor(maxInputHeight)
stored into lp->maxInputBlock
. If it ever returns nullptr
because the ancestor isn’t found, it’s going to be a bad bug to keep going, since a LockPoints
object with the maxInputBlock
member set to nullptr
signifies no relative lock time.
In other places, the added asserts would prevent accidental dereferencing of a null pointer which is undefined behavior.