From 7c005672a40eb92110e32b37f41f59c027fa8598 Mon Sep 17 00:00:00 2001 From: Jeff Halter <868228+jhalter@users.noreply.github.com> Date: Sun, 6 Oct 2024 10:14:31 -0700 Subject: [PATCH] Fix tracker results --- hotline/tracker.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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 }