From eeff36d167058d2c4312e4446595863873c2ea5f Mon Sep 17 00:00:00 2001 From: xiaoqidun Date: Tue, 24 Feb 2026 11:33:03 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E4=BF=AE=E5=A4=8D=E9=97=AE=E9=A2=98):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/fs/symfs_windows.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/fs/symfs_windows.go b/internal/fs/symfs_windows.go index 19ade44..d649312 100644 --- a/internal/fs/symfs_windows.go +++ b/internal/fs/symfs_windows.go @@ -465,9 +465,16 @@ func (s *SymFS) watch() { if err != nil { return } + headerSize := uint32(unsafe.Offsetof(FileNotifyInformation{}.FileName)) var offset uint32 for { + if offset+headerSize > bytesReturned { + break + } info := (*FileNotifyInformation)(unsafe.Pointer(&buf[offset])) + if offset+headerSize+info.FileNameLength > bytesReturned { + break + } length := info.FileNameLength / 2 nameSlice := (*[1 << 16]uint16)(unsafe.Pointer(&info.FileName[0]))[:length:length] fileName := syscall.UTF16ToString(nameSlice)