diff options
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r-- | winsup/cygwin/path.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index d29aff028..32bb4c0a9 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -2296,10 +2296,11 @@ restart: FILE_OPEN_REPARSE_POINT | FILE_OPEN_FOR_BACKUP_INTENT, eabuf, easize); - if (status == STATUS_ACCESS_DENIED) + if (status == STATUS_ACCESS_DENIED && eabuf) { - status = NtCreateFile (&h, access = MIN_STAT_ACCESS, &attr, &io, - NULL, 0, FILE_SHARE_VALID_FLAGS, FILE_OPEN, + status = NtCreateFile (&h, access = MIN_STAT_ACCESS | FILE_READ_EA, + &attr, &io, NULL, 0, FILE_SHARE_VALID_FLAGS, + FILE_OPEN, FILE_OPEN_REPARSE_POINT | FILE_OPEN_FOR_BACKUP_INTENT, eabuf, easize); |