1
0
mirror of https://github.com/golang/go synced 2024-09-23 23:10:13 -06:00

os: don't request read access from CreateFile in Stat

CL 448897 changed os.Stat to request GENERIC_READ access when using
CreateFile to examine a file. This is unnecessary; access flags of 0
will permit examining file metadata even if the file isn't readable.
Revert to the old behavior here.

For #56217

Change-Id: I09220b3bbee304bd89f4a94ec9b0af42042b7773
Reviewed-on: https://go-review.googlesource.com/c/go/+/450296
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
Run-TryBot: Quim Muntal <quimmuntal@gmail.com>
This commit is contained in:
Damien Neil 2022-11-14 10:21:51 -08:00
parent 6234e467e5
commit 24fc64028c

View File

@ -69,12 +69,8 @@ func stat(funcname, name string, createFileAttrs uint32) (FileInfo, error) {
} }
// Finally use CreateFile. // Finally use CreateFile.
h, err := syscall.CreateFile(namep, h, err := syscall.CreateFile(namep, 0, 0, nil,
syscall.GENERIC_READ, syscall.OPEN_EXISTING, createFileAttrs, 0)
syscall.FILE_SHARE_READ|syscall.FILE_SHARE_WRITE,
nil,
syscall.OPEN_EXISTING,
createFileAttrs, 0)
if err != nil { if err != nil {
return nil, &PathError{Op: "CreateFile", Path: name, Err: err} return nil, &PathError{Op: "CreateFile", Path: name, Err: err}
} }