diff --git a/proxy/freedom/freedom.go b/proxy/freedom/freedom.go index 1e4e077d..fd364c69 100644 --- a/proxy/freedom/freedom.go +++ b/proxy/freedom/freedom.go @@ -399,7 +399,10 @@ func (w *PacketWriter) WriteMultiBuffer(mb buf.MultiBuffer) error { } if ShouldUseSystemResolver { udpAddr, err := net.ResolveUDPAddr("udp", b.UDP.NetAddr()) - if err == nil { + if err != nil { + b.Release() + continue + } else { ip = net.IPAddress(udpAddr.IP) } }