diff --git a/component/sniffing/sniffer.go b/component/sniffing/sniffer.go index 97a2311..d1d3c5a 100644 --- a/component/sniffing/sniffer.go +++ b/component/sniffing/sniffer.go @@ -82,10 +82,14 @@ func (s *Sniffer) SniffTcp() (d string, err error) { defer s.readMu.Unlock() if s.stream { go func() { - _, err := s.buf.ReadFrom(s.r) + // Read once. + s.buf.Reset() + s.buf.Grow(max(0, 4096-s.buf.Available())) + n, err := s.r.Read(s.buf.AvailableBuffer()) if err != nil { s.dataError = err } + s.buf.Truncate(n) close(s.dataReady) }() diff --git a/go.mod b/go.mod index 1227992..6ad19ee 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/daeuniverse/dae -go 1.20 +go 1.21 require ( github.com/adrg/xdg v0.4.0