summaryrefslogtreecommitdiff
path: root/src/pkg/rpc/client.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/rpc/client.go')
-rw-r--r--src/pkg/rpc/client.go6
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)