accounts/abi: added dst.CanSet checks

This commit is contained in:
Marius van der Wijden 2020-05-13 12:12:01 +02:00
parent 3f6a41a22d
commit 1df389d5f7

View file

@ -17,6 +17,7 @@
package abi package abi
import ( import (
"errors"
"fmt" "fmt"
"math/big" "math/big"
"reflect" "reflect"
@ -110,8 +111,11 @@ func setSlice(dst, src reflect.Value) error {
} }
} }
} }
if dst.CanSet() {
dst.Set(slice) dst.Set(slice)
return nil return nil
}
return errors.New("Cannot set slice, destination not settable")
} }
func setArray(dst, src reflect.Value) error { func setArray(dst, src reflect.Value) error {
@ -125,8 +129,11 @@ func setArray(dst, src reflect.Value) error {
return err return err
} }
} }
if dst.CanSet() {
dst.Set(array) dst.Set(array)
return nil return nil
}
return errors.New("Cannot set array, destination not settable")
} }
func setStruct(dst, src reflect.Value) error { func setStruct(dst, src reflect.Value) error {