[Bug 48960] New: NtQueryDirectoryFile incorrectly returns STATUS_NO_MORE_FILES when it encounters an ignored entry
WineHQ Bugzilla
wine-bugs at winehq.org
Sat Apr 18 06:19:35 CDT 2020
https://bugs.winehq.org/show_bug.cgi?id=48960
Bug ID: 48960
Summary: NtQueryDirectoryFile incorrectly returns
STATUS_NO_MORE_FILES when it encounters an ignored
entry
Product: Wine
Version: 5.6
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ntdll
Assignee: wine-bugs at winehq.org
Reporter: 2858628868 at qq.com
Distribution: ---
I encountered a problem when compiling a .cc file with cl.exe in the HOME
directory. The compiler always reports that the .cc file cannot be found. After
some digging, I found that c1xx.dll of cl.exe used NtQueryDirectoryFile to
enumerate files and confirm whether it existed. Unfortunately, there is a
WINEPREFIX directory in the HOME directory, and NtQueryDirectoryFile consider
it should be ignored (it is ignored in the get_dir_data_entry function). When
NtQueryDirectoryFile enumerates by a single entry, it will return
STATUS_NO_MORE_FILES prematurely if it encounters an ignored entry. The
enumeration loop in c1xx.dll therefore exited early and reported that the .cc
file could not be found.
My WINE version is 4.0. After checking the source code, I confirmed that this
problem also exists in the 5.x version.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list