diff --git a/component/socks5/socks5.go b/component/socks5/socks5.go index b16c3b69..1dd60391 100644 --- a/component/socks5/socks5.go +++ b/component/socks5/socks5.go @@ -48,8 +48,9 @@ func (a Addr) String() string { switch a[0] { case AtypDomainName: - host = string(a[2 : 2+int(a[1])]) - port = strconv.Itoa((int(a[2+int(a[1])]) << 8) | int(a[2+int(a[1])+1])) + hostLen := uint16(a[1]) + host = string(a[2 : 2+hostLen]) + port = strconv.Itoa((int(a[2+hostLen]) << 8) | int(a[2+hostLen+1])) case AtypIPv4: host = net.IP(a[1 : 1+net.IPv4len]).String() port = strconv.Itoa((int(a[1+net.IPv4len]) << 8) | int(a[1+net.IPv4len+1]))