rpc: add error when call result parameter is not addressable (#20638)

This commit is contained in:
Adam Schmideg
2020-02-11 09:48:58 +01:00
committed by GitHub
parent 34bb132b10
commit 172f7778fe
2 changed files with 20 additions and 0 deletions

View File

@ -276,6 +276,9 @@ func (c *Client) Call(result interface{}, method string, args ...interface{}) er
// The result must be a pointer so that package json can unmarshal into it. You
// can also pass nil, in which case the result is ignored.
func (c *Client) CallContext(ctx context.Context, result interface{}, method string, args ...interface{}) error {
if result != nil && reflect.TypeOf(result).Kind() != reflect.Ptr {
return fmt.Errorf("call result parameter must be pointer or nil interface: %v", result)
}
msg, err := c.newMessage(method, args...)
if err != nil {
return err