You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cap-std on Windows implements "openat" by concatenating the path of the base directory with the user-provided relative path, so it gets into weird situations when the user-provided path is in a different format from the base. In theory this is fixable, but I spent some time trying to figure out Windows paths and failed so many times that I'm not eager to try it again. Another possible path forward is to migrate more of the code to NtCreateFile, which some parts of cap-std now use, but not all yet.
The following logic:
cap-std/cap-primitives/src/windows/fs/get_path.rs
Lines 18 to 22 in 72fdc30
completely breaks DOS device UNC paths such as:
which would have to be translated to:
in addition to that, other DOS device paths such as:
get completely ruined.
There also is a lack of
\\.\
handling. I'm also not sure why this gets stripped in the first place,join
can handle these paths just fine.The text was updated successfully, but these errors were encountered: