Skip to content

Commit 8c97bd8

Browse files
committed
Return errc::no_such_file_or_directory in fs::access if GetFileAttributesW fails
1 parent dc74bf7 commit 8c97bd8

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

llvm/lib/Support/Windows/Path.inc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,10 @@ std::error_code access(const Twine &Path, AccessMode Mode) {
623623
DWORD Attributes = ::GetFileAttributesW(PathUtf16.begin());
624624

625625
if (Attributes == INVALID_FILE_ATTRIBUTES) {
626+
// Avoid returning unexpected error codes when querying for existence.
627+
if (Mode == AccessMode::Exist)
628+
return errc::no_such_file_or_directory;
629+
626630
// See if the file didn't actually exist.
627631
DWORD LastError = ::GetLastError();
628632
if (LastError != ERROR_FILE_NOT_FOUND && LastError != ERROR_PATH_NOT_FOUND)

0 commit comments

Comments
 (0)