socks5: fixed a bug which may leads to panic when received a invalid socks5 udp request #20

This commit is contained in:
nadoo 2018-03-19 00:38:24 +08:00
parent 34bbb6a57b
commit 555d7f2058

View File

@ -181,6 +181,11 @@ func (s *SOCKS5) ListenAndServeUDP() {
var pc *Socks5PktConn var pc *Socks5PktConn
v, ok := nm.Load(raddr.String()) v, ok := nm.Load(raddr.String())
if !ok && v == nil { if !ok && v == nil {
if c.tgtAddr == nil {
logf("proxy-socks5-udp can not get target address, not a valid request")
continue
}
lpc, nextHop, err := s.sDialer.DialUDP("udp", c.tgtAddr.String()) lpc, nextHop, err := s.sDialer.DialUDP("udp", c.tgtAddr.String())
if err != nil { if err != nil {
logf("proxy-socks5-udp remote dial error: %v", err) logf("proxy-socks5-udp remote dial error: %v", err)