commit 46154743acb8d0a4df8c59c9ddf2ebcab2258eec
parent 3d44323d83ce2404e0b6a1369158950e7c7f777a
Author: Oliver Lowe <o@olowe.co>
Date: Sun, 4 Aug 2024 19:31:24 +1000
pcap: decode magic number once
Otherwise we're dealing with it twice when binary.Read does what we
need already.
Diffstat:
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/pcap/parser.go b/pcap/parser.go
@@ -45,11 +45,10 @@ type File struct {
}
func decode(reader io.Reader) (*File, error) {
- b := make([]byte, 4)
- if _, err := io.ReadFull(reader, b); err != nil {
+ var magic uint32
+ if err := binary.Read(reader, binary.NativeEndian, &magic); err != nil {
return nil, fmt.Errorf("read magic number: %w", err)
}
- magic := binary.NativeEndian.Uint32(b)
if magic != magicLittleEndian && magic != magicBigEndian {
return nil, fmt.Errorf("unknown magic number %#x", magic)
}