From b1a15ac3703c03e1a01607360e8b835a28b02369 Mon Sep 17 00:00:00 2001 From: Menghan Li Date: Tue, 3 Aug 2021 15:12:42 -0700 Subject: [PATCH] server: fix leaked net.Conn (#4644) This happens when NewServerTransport() returns nil, nil. The rawConn is closed when the transport is closed, which will never happen in this case (since the returned transport is nil). This is a backport of #4633 --- server.go | 1 + 1 file changed, 1 insertion(+) diff --git a/server.go b/server.go index de170830641..0251f48daf1 100644 --- a/server.go +++ b/server.go @@ -863,6 +863,7 @@ func (s *Server) handleRawConn(lisAddr string, rawConn net.Conn) { // Finish handshaking (HTTP2) st := s.newHTTP2Transport(conn, authInfo) if st == nil { + conn.Close() return }