瀏覽代碼

go.net/websocket: fix error check in Send

Fixes golang/go#3727

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/6306080
Fumitoshi Ukai 13 年之前
父節點
當前提交
675d40ba14
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      websocket/websocket.go

+ 3 - 3
websocket/websocket.go

@@ -285,9 +285,6 @@ type Codec struct {
 
 // Send sends v marshaled by cd.Marshal as single frame to ws.
 func (cd Codec) Send(ws *Conn, v interface{}) (err error) {
-	if err != nil {
-		return err
-	}
 	data, payloadType, err := cd.Marshal(v)
 	if err != nil {
 		return err
@@ -295,6 +292,9 @@ func (cd Codec) Send(ws *Conn, v interface{}) (err error) {
 	ws.wio.Lock()
 	defer ws.wio.Unlock()
 	w, err := ws.frameWriterFactory.NewFrameWriter(payloadType)
+	if err != nil {
+		return err
+	}
 	_, err = w.Write(data)
 	w.Close()
 	return err