tracker/udp/server/server.go | 5 +++-- diff --git a/tracker/udp/server/server.go b/tracker/udp/server/server.go index cd9d9f0fdc86f566b0baa7241c78ca5b74daeb80..c686a23d27b8fd2cc96d2983b0a779ce7b74b814 100644 --- a/tracker/udp/server/server.go +++ b/tracker/udp/server/server.go @@ -205,14 +205,15 @@ func RunSimple(ctx context.Context, s *Server, pc net.PacketConn, family udp.AddrFamily) error { ctx, cancel := context.WithCancel(ctx) defer cancel() + var b [1500]byte for { - var b [1500]byte n, addr, err := pc.ReadFrom(b[:]) if err != nil { return err } + b := append([]byte(nil), b[:n]...) go func() { - err := s.HandleRequest(ctx, family, addr, b[:n]) + err := s.HandleRequest(ctx, family, addr, b) if err != nil { log.Printf("error handling %v byte request from %v: %v", n, addr, err) }