mirror of
https://github.com/tendermint/tendermint.git
synced 2026-04-17 06:01:04 +00:00
consensus: add some more checks to vote counting (#7253)
This commit is contained in:
@@ -193,7 +193,10 @@ func (ps *PeerState) PickVoteToSend(votes types.VoteSetReader) (*types.Vote, boo
|
||||
}
|
||||
|
||||
if index, ok := votes.BitArray().Sub(psVotes).PickRandom(); ok {
|
||||
return votes.GetByIndex(int32(index)), true
|
||||
vote := votes.GetByIndex(int32(index))
|
||||
if vote != nil {
|
||||
return vote, true
|
||||
}
|
||||
}
|
||||
|
||||
return nil, false
|
||||
@@ -358,6 +361,9 @@ func (ps *PeerState) BlockPartsSent() int {
|
||||
|
||||
// SetHasVote sets the given vote as known by the peer
|
||||
func (ps *PeerState) SetHasVote(vote *types.Vote) {
|
||||
if vote == nil {
|
||||
return
|
||||
}
|
||||
ps.mtx.Lock()
|
||||
defer ps.mtx.Unlock()
|
||||
|
||||
|
||||
@@ -372,6 +372,9 @@ func (voteSet *VoteSet) GetByIndex(valIndex int32) *Vote {
|
||||
}
|
||||
voteSet.mtx.Lock()
|
||||
defer voteSet.mtx.Unlock()
|
||||
if int(valIndex) >= len(voteSet.votes) {
|
||||
return nil
|
||||
}
|
||||
return voteSet.votes[valIndex]
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user