]> git.r.bdr.sh - rbdr/mobius/commitdiff
Fix tracker results
authorJeff Halter <redacted>
Sun, 6 Oct 2024 17:14:31 +0000 (10:14 -0700)
committerJeff Halter <redacted>
Sun, 6 Oct 2024 17:14:31 +0000 (10:14 -0700)
hotline/tracker.go

index a3e077eceb68d7a898a15f7b88599e4337e021a2..52963bf1ba6fe34dae227aa4f7fca24db41eb575 100644 (file)
@@ -142,8 +142,13 @@ func GetListing(conn io.ReadWriteCloser) ([]ServerRecord, error) {
        for {
                scanner.Scan()
 
        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
                var srv ServerRecord
-               _, err = srv.Write(scanner.Bytes())
+               _, err = srv.Write(buf)
                if err != nil {
                        return nil, err
                }
                if err != nil {
                        return nil, err
                }