Explorar el Código

Prevent nil LocalAddr or RemoteAddr

世界 hace 1 año
padre
commit
0ef268637e
Se han modificado 2 ficheros con 4 adiciones y 3 borrados
  1. 1 1
      transport/v2raygrpclite/conn.go
  2. 3 2
      transport/v2raywebsocket/conn.go

+ 1 - 1
transport/v2raygrpclite/conn.go

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

+ 3 - 2
transport/v2raywebsocket/conn.go

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