Prevent nil LocalAddr or RemoteAddr

This commit is contained in:
世界 2023-12-05 15:10:51 +08:00
parent 50f5a76380
commit 0ef268637e
No known key found for this signature in database
GPG key ID: CD109927C34A63C4
2 changed files with 4 additions and 3 deletions

View file

@ -143,7 +143,7 @@ func (c *GunConn) LocalAddr() net.Addr {
} }
func (c *GunConn) RemoteAddr() net.Addr { func (c *GunConn) RemoteAddr() net.Addr {
return nil return M.Socksaddr{}
} }
func (c *GunConn) SetDeadline(t time.Time) error { func (c *GunConn) SetDeadline(t time.Time) error {

View file

@ -14,6 +14,7 @@ import (
"github.com/sagernet/sing/common/buf" "github.com/sagernet/sing/common/buf"
"github.com/sagernet/sing/common/debug" "github.com/sagernet/sing/common/debug"
E "github.com/sagernet/sing/common/exceptions" E "github.com/sagernet/sing/common/exceptions"
M "github.com/sagernet/sing/common/metadata"
"github.com/sagernet/ws" "github.com/sagernet/ws"
"github.com/sagernet/ws/wsutil" "github.com/sagernet/ws/wsutil"
) )
@ -232,14 +233,14 @@ func (c *EarlyWebsocketConn) Close() error {
func (c *EarlyWebsocketConn) LocalAddr() net.Addr { func (c *EarlyWebsocketConn) LocalAddr() net.Addr {
if c.conn == nil { if c.conn == nil {
return nil return M.Socksaddr{}
} }
return c.conn.LocalAddr() return c.conn.LocalAddr()
} }
func (c *EarlyWebsocketConn) RemoteAddr() net.Addr { func (c *EarlyWebsocketConn) RemoteAddr() net.Addr {
if c.conn == nil { if c.conn == nil {
return nil return M.Socksaddr{}
} }
return c.conn.RemoteAddr() return c.conn.RemoteAddr()
} }