Fix: codeql alerts

This commit is contained in:
Dreamacro 2021-11-08 00:31:08 +08:00
parent 1a7830f18e
commit d40e5e4fe6
6 changed files with 9 additions and 9 deletions

View File

@ -52,7 +52,7 @@ func streamConn(c net.Conn, option streamOption) *snell.Snell {
// StreamConn implements C.ProxyAdapter // StreamConn implements C.ProxyAdapter
func (s *Snell) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) { func (s *Snell) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) {
c = streamConn(c, streamOption{s.psk, s.version, s.addr, s.obfsOption}) c = streamConn(c, streamOption{s.psk, s.version, s.addr, s.obfsOption})
port, _ := strconv.Atoi(metadata.DstPort) port, _ := strconv.ParseInt(metadata.DstPort, 10, 16)
err := snell.WriteHeader(c, metadata.String(), uint(port), s.version) err := snell.WriteHeader(c, metadata.String(), uint(port), s.version)
return c, err return c, err
} }
@ -65,7 +65,7 @@ func (s *Snell) DialContext(ctx context.Context, metadata *C.Metadata, opts ...d
return nil, err return nil, err
} }
port, _ := strconv.Atoi(metadata.DstPort) port, _ := strconv.ParseUint(metadata.DstPort, 10, 16)
if err = snell.WriteHeader(c, metadata.String(), uint(port), s.version); err != nil { if err = snell.WriteHeader(c, metadata.String(), uint(port), s.version); err != nil {
c.Close() c.Close()
return nil, err return nil, err

View File

@ -21,7 +21,7 @@ func tcpKeepAlive(c net.Conn) {
func serializesSocksAddr(metadata *C.Metadata) []byte { func serializesSocksAddr(metadata *C.Metadata) []byte {
var buf [][]byte var buf [][]byte
aType := uint8(metadata.AddrType) aType := uint8(metadata.AddrType)
p, _ := strconv.Atoi(metadata.DstPort) p, _ := strconv.ParseUint(metadata.DstPort, 10, 16)
port := []byte{uint8(p >> 8), uint8(p & 0xff)} port := []byte{uint8(p >> 8), uint8(p & 0xff)}
switch metadata.AddrType { switch metadata.AddrType {
case socks5.AtypDomainName: case socks5.AtypDomainName:

View File

@ -353,7 +353,7 @@ func parseVmessAddr(metadata *C.Metadata) *vmess.DstAddr {
copy(addr[1:], []byte(metadata.Host)) copy(addr[1:], []byte(metadata.Host))
} }
port, _ := strconv.Atoi(metadata.DstPort) port, _ := strconv.ParseUint(metadata.DstPort, 10, 16)
return &vmess.DstAddr{ return &vmess.DstAddr{
UDP: metadata.NetWork == C.UDP, UDP: metadata.NetWork == C.UDP,
AddrType: addrType, AddrType: addrType,

View File

@ -62,7 +62,7 @@ func bindIfaceToDialer(ifaceName string, dialer *net.Dialer, network string, des
if dialer.LocalAddr != nil { if dialer.LocalAddr != nil {
_, port, err := net.SplitHostPort(dialer.LocalAddr.String()) _, port, err := net.SplitHostPort(dialer.LocalAddr.String())
if err == nil { if err == nil {
local, _ = strconv.Atoi(port) local, _ = strconv.ParseInt(port, 10, 16)
} }
} }
@ -82,7 +82,7 @@ func bindIfaceToListenConfig(ifaceName string, _ *net.ListenConfig, network, add
port = "0" port = "0"
} }
local, _ := strconv.Atoi(port) local, _ := strconv.ParseInt(port, 10, 16)
addr, err := lookupLocalAddr(ifaceName, network, nil, local) addr, err := lookupLocalAddr(ifaceName, network, nil, local)
if err != nil { if err != nil {

View File

@ -107,10 +107,10 @@ func (m *Metadata) UDPAddr() *net.UDPAddr {
if m.NetWork != UDP || m.DstIP == nil { if m.NetWork != UDP || m.DstIP == nil {
return nil return nil
} }
port, _ := strconv.Atoi(m.DstPort) port, _ := strconv.ParseInt(m.DstPort, 10, 16)
return &net.UDPAddr{ return &net.UDPAddr{
IP: m.DstIP, IP: m.DstIP,
Port: port, Port: int(port),
} }
} }

View File

@ -39,7 +39,7 @@ func (p *Port) ShouldResolveIP() bool {
} }
func NewPort(port string, adapter string, isSource bool) (*Port, error) { func NewPort(port string, adapter string, isSource bool) (*Port, error) {
_, err := strconv.Atoi(port) _, err := strconv.ParseUint(port, 10, 16)
if err != nil { if err != nil {
return nil, errPayload return nil, errPayload
} }