Fix TUN nil addr

This commit is contained in:
Fangliding
2026-06-23 18:46:05 +08:00
parent fab4bcc1ed
commit 455197dd91
+8 -1
View File
@@ -143,7 +143,14 @@ func (t *Handler) HandleConnection(conn net.Conn, destination net.Destination) {
defer cancel()
ctx = c.ContextWithID(ctx, session.NewID())
source := net.DestinationFromAddr(conn.RemoteAddr())
// if the connection is already closed, conn.RemoteAddr() will be nil
// due to gvisor weird behavior
remote := conn.RemoteAddr()
if remote == nil {
errors.LogInfo(t.ctx, "dropped quick close connection")
return
}
source := net.DestinationFromAddr(remote)
inbound := session.Inbound{
Name: "tun",
Tag: t.tag,