diff options
Diffstat (limited to 'src/pkg/rpc/client.go')
-rw-r--r-- | src/pkg/rpc/client.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/pkg/rpc/client.go b/src/pkg/rpc/client.go index d742d099f..e6a861a1e 100644 --- a/src/pkg/rpc/client.go +++ b/src/pkg/rpc/client.go @@ -93,7 +93,13 @@ func (client *Client) input() { c := client.pending[seq] client.pending[seq] = c, false client.mutex.Unlock() + if c == nil { + err = os.NewError("invalid response sequence number") + break + } err = client.codec.ReadResponseBody(c.Reply) + // TODO(rsc): Should look at err, but breaks tests. + // Empty strings should turn into nil os.Errors if response.Error != "" { c.Error = os.ErrorString(response.Error) |