Skip to content

Commit

Permalink
refactor(x/accounts): reuse calculated sum in func safeAdd (#20458)
Browse files Browse the repository at this point in the history
  • Loading branch information
BabyHalimao authored May 29, 2024
1 parent 2b34f69 commit d8496bc
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
5 changes: 3 additions & 2 deletions x/accounts/defaults/multisig/account.go
Original file line number Diff line number Diff line change
Expand Up @@ -395,10 +395,11 @@ func (a *Account) RegisterQueryHandlers(builder *accountstd.QueryBuilder) {
func safeAdd(nums ...uint64) (uint64, error) {
var sum uint64
for _, num := range nums {
if sum+num < sum {
if newSum := sum + num; newSum < sum {
return 0, errors.New("overflow")
} else {
sum = newSum
}
sum += num
}
return sum, nil
}
8 changes: 4 additions & 4 deletions x/accounts/defaults/multisig/update_config.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ func (a Account) UpdateConfig(ctx context.Context, msg *v1.MsgUpdateConfig) (*v1
// verify that the new set of members and config are valid
// get the weight from the stored members
totalWeight := uint64(0)
var addErr error
err := a.Members.Walk(ctx, nil, func(_ []byte, value uint64) (stop bool, err error) {
var adderr error
totalWeight, adderr = safeAdd(totalWeight, value)
if adderr != nil {
return true, adderr
totalWeight, addErr = safeAdd(totalWeight, value)
if addErr != nil {
return true, addErr
}
return false, nil
})
Expand Down

0 comments on commit d8496bc

Please sign in to comment.