Merge pull request #262 from nguyenbatam/tiny_fix_panic

fix error panic in func RemoveItemFromArray
This commit is contained in:
Tuna 2018-11-10 10:31:44 +07:00 committed by GitHub
commit b360290ded
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 7 deletions

View file

@ -247,16 +247,18 @@ func (a UnprefixedAddress) MarshalText() ([]byte, error) {
// Extract validators from byte array. // Extract validators from byte array.
func RemoveItemFromArray(array []Address, items []Address) []Address { func RemoveItemFromArray(array []Address, items []Address) []Address {
if items == nil { if len(items) == 0 {
return array return array
} }
for i, value := range array {
for _, item := range items { for _, item := range items {
if value == item { for i := len(array) - 1; i >= 0; i-- {
if array[i] == item {
array = append(array[:i], array[i+1:]...) array = append(array[:i], array[i+1:]...)
} }
} }
} }
return array return array
} }

View file

@ -151,10 +151,10 @@ func BenchmarkAddressHex(b *testing.B) {
} }
func TestRemoveItemInArray(t *testing.T) { func TestRemoveItemInArray(t *testing.T) {
array := []Address{HexToAddress("0x0000000"), HexToAddress("0x0000001"), HexToAddress("0x0000002")} array := []Address{HexToAddress("0x0000003"),HexToAddress("0x0000001"), HexToAddress("0x0000002"),HexToAddress("0x0000003")}
remove := []Address{HexToAddress("0x0000000"), HexToAddress("0x0000004"), HexToAddress("0x0000003")} remove := []Address{HexToAddress("0x0000002"), HexToAddress("0x0000004"), HexToAddress("0x0000003")}
array = RemoveItemFromArray(array, remove) array = RemoveItemFromArray(array, remove)
if len(array) != 2 { if len(array) != 1 {
t.Error("fail remove item from array address") t.Error("fail remove item from array address")
} }
} }