From bd602b6d11b5ee492421ddb0da2be05a433b5845 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Sun, 30 Aug 2026 17:23:03 +0800 Subject: [PATCH] Fix panic on websocket handshake failure --- transport/v2raywebsocket/client.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/transport/v2raywebsocket/client.go b/transport/v2raywebsocket/client.go index 7a5bb252..d1bce75e 100644 --- a/transport/v2raywebsocket/client.go +++ b/transport/v2raywebsocket/client.go @@ -81,7 +81,11 @@ func (c *Client) DialContext(ctx context.Context) (net.Conn, error) { if c.maxEarlyData > 0 { return &EarlyWebsocketConn{Client: c, rawConn: conn, create: make(chan struct{})}, nil } - return c.upgrade(conn, &c.requestURL, c.headers) + websocketConn, err := c.upgrade(conn, &c.requestURL, c.headers) + if err != nil { + return nil, err + } + return websocketConn, nil } func (c *Client) upgrade(conn net.Conn, requestURL *url.URL, headers http.Header) (*WebsocketConn, error) {