From: Jeff Halter Date: Sun, 6 Oct 2024 17:14:31 +0000 (-0700) Subject: Fix tracker results X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/commitdiff_plain/7c005672a40eb92110e32b37f41f59c027fa8598 Fix tracker results --- diff --git a/hotline/tracker.go b/hotline/tracker.go index a3e077e..52963bf 100644 --- a/hotline/tracker.go +++ b/hotline/tracker.go @@ -142,8 +142,13 @@ func GetListing(conn io.ReadWriteCloser) ([]ServerRecord, error) { for { scanner.Scan() + // Make a new []byte slice and copy the scanner bytes to it. This is critical as the + // scanner re-uses the buffer for subsequent scans. + buf := make([]byte, len(scanner.Bytes())) + copy(buf, scanner.Bytes()) + var srv ServerRecord - _, err = srv.Write(scanner.Bytes()) + _, err = srv.Write(buf) if err != nil { return nil, err }