From 5175c57fa44507bdb188c3ef3cb116684b4d1695 Mon Sep 17 00:00:00 2001 From: Ben McClelland Date: Mon, 11 Sep 2023 16:36:21 -0700 Subject: [PATCH] fix dirent struct size in parseDent --- scoutfs.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scoutfs.go b/scoutfs.go index 5d767ea..3f6961f 100644 --- a/scoutfs.go +++ b/scoutfs.go @@ -1106,6 +1106,8 @@ type dirent struct { Name_len uint8 } +const direntSize = 29 + func parseDent(r *bytes.Reader) (Parent, bool, error) { var dent dirent err := binary.Read(r, binary.LittleEndian, &dent) @@ -1119,7 +1121,7 @@ func parseDent(r *bytes.Reader) (Parent, bool, error) { return Parent{}, false, err } - pad := int(dent.Entry_bytes) - int(unsafe.Sizeof(dent)) + int(dent.Name_len) + pad := int(dent.Entry_bytes) - (direntSize + int(dent.Name_len)) for i := 0; i < pad; i++ { _, err = r.ReadByte() if err != nil {