Fix for assert during certain cases of invalidateblock #866
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR intention
Sigma code bug might cause assert on block disconnect. This PR prevents this
Code changes brief
sigmaMintedPubCoins
field ofCBlockIndex
is accessed for read throughoperator []
without checking if the specific entry being queried already exists. It is possible to code inCSigmaState::RemoveBlock()
to incorrectly process this empty entry and fail with assert.This PR ensures that zero sized entry of
sigmaMintedPubCoins
is handled correctly and prevents unnecessary creation of new entities of this type