lnrpc: fix websocket proxy data race

Was discovered in a race unit test in lightning node connect that uses
the websocket proxy to connect to the hashmail server on the client
side.
By not shadowing the err variable we end up reading and writing to the
same variable from two different goroutines, which causes the data race.
This commit is contained in:
Oliver Gugger 2022-03-29 18:15:43 +02:00
parent 6275a78c79
commit 40358d406d
No known key found for this signature in database
GPG key ID: 8E4256593F177720

View file

@ -253,7 +253,7 @@ func (p *WebsocketProxy) upgradeToWebSocketProxy(w http.ResponseWriter,
payload = newPayload
}
_, err = requestForwarder.Write(payload)
_, err := requestForwarder.Write(payload)
if err != nil {
p.logger.Errorf("WS: error writing message "+
"to upstream http server: %v", err)
@ -338,7 +338,7 @@ func (p *WebsocketProxy) upgradeToWebSocketProxy(w http.ResponseWriter,
continue
}
err = conn.WriteMessage(
err := conn.WriteMessage(
websocket.TextMessage, responseForwarder.Bytes(),
)
if err != nil {