Merge pull request #38 from LaurenceJJones/fix/relay-buffer-leak

fix: relay buffer leak on UDP read error
This commit is contained in:
Owen Schwartz
2025-12-06 12:07:31 -05:00
committed by GitHub

View File

@@ -187,6 +187,8 @@ func (s *UDPProxyServer) readPackets() {
n, remoteAddr, err := s.conn.ReadFromUDP(buf) n, remoteAddr, err := s.conn.ReadFromUDP(buf)
if err != nil { if err != nil {
logger.Error("Error reading UDP packet: %v", err) logger.Error("Error reading UDP packet: %v", err)
// Return buffer to pool on read error to avoid leaks
bufferPool.Put(buf[:1500])
continue continue
} }
s.packetChan <- Packet{data: buf[:n], remoteAddr: remoteAddr, n: n} s.packetChan <- Packet{data: buf[:n], remoteAddr: remoteAddr, n: n}