https://bugs.winehq.org/show_bug.cgi?id=54903
Bug ID: 54903 Summary: PeaZip can't open Z: drive Product: Wine Version: 5.5 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: alexhenrie24@gmail.com Distribution: ---
Created attachment 74409 --> https://bugs.winehq.org/attachment.cgi?id=74409 Terminal output
When PeaZip starts, it displays a file explorer. Browsing files on the C drive works fine, but if you double-click Z: or a directory symlinked to a directory on drive Z, the program freezes. Then, if you click in the file explorer again, an error dialog appears that says "Index Out of range".
This was a regression in Wine 5.5. `git bisect` says:
6b498d98a86b5179a025afbaaeaa3d60a8bd74ec is the first bad commit commit 6b498d98a86b5179a025afbaaeaa3d60a8bd74ec Author: Zebediah Figura z.figura12@gmail.com Date: Fri Mar 20 12:15:25 2020 -0500
ntdll: Consider mount points to be reparse points in get_file_info().
Signed-off-by: Zebediah Figura zfigura@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
Terminal output is attached. The relevant part appears to be:
0024:fixme:file:NtFsControlFile FSCTL_GET_REPARSE_POINT semi-stub
$ sha256sum peazip-9.2.0.WINDOWS.exe 67229ced7de6d27871b823ce7f61f69c7c61fd85ea13d844a7b085ce97adfd9b
https://bugs.winehq.org/show_bug.cgi?id=54903
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com Regression SHA1| |6b498d98a86b5179a025afbaaea | |a3d60a8bd74ec URL| |https://github.com/peazip/P | |eaZip/releases/download/9.2 | |.0/peazip-9.2.0.WINDOWS.exe Keywords| |download, regression
https://bugs.winehq.org/show_bug.cgi?id=54903
--- Comment #1 from Zeb Figura z.figura12@gmail.com --- It's probably FSCTL_GET_REPARSE_POINT, yes, although even before 6b498d98 I expect it would have had that same behaviour on a symlinked directory.
However, it does turn out that it's incorrect to report a drive root as a reparse point. This is easy to fix for NtQueryAttributesFile(), but harder for NtQueryInformationFile() since we don't have the original NT path for the latter.