diff --git a/tsdb/fileutil/mmap_windows.go b/tsdb/fileutil/mmap_windows.go index b942264123..5704b3b96d 100644 --- a/tsdb/fileutil/mmap_windows.go +++ b/tsdb/fileutil/mmap_windows.go @@ -27,14 +27,15 @@ func mmap(f *os.File, size int) ([]byte, error) { } addr, errno := syscall.MapViewOfFile(h, syscall.FILE_MAP_READ, 0, 0, uintptr(size)) - if addr == 0 { - return nil, os.NewSyscallError("MapViewOfFile", errno) - } if err := syscall.CloseHandle(syscall.Handle(h)); err != nil { return nil, os.NewSyscallError("CloseHandle", err) } + if addr == 0 { + return nil, os.NewSyscallError("MapViewOfFile", errno) + } + return (*[maxMapSize]byte)(unsafe.Pointer(addr))[:size], nil }