From 6b03f000931b8fba83fa5cd65307d02fdf783cb1 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Thu, 19 Aug 2021 13:35:52 +1000 Subject: [PATCH] Fix data race closing incoming PeerConn --- client.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/client.go b/client.go index 4815a0cd..fe1a8769 100644 --- a/client.go +++ b/client.go @@ -537,7 +537,11 @@ func (cl *Client) incomingConnection(nc net.Conn) { } c := cl.newConnection(nc, false, nc.RemoteAddr(), nc.RemoteAddr().Network(), regularNetConnPeerConnConnString(nc)) - defer c.close() + defer func() { + cl.lock() + defer cl.unlock() + c.close() + }() c.Discovery = PeerSourceIncoming cl.runReceivedConn(c) } -- 2.48.1