[PATCH] path_conv: do not get confused by a directory with `.lnk` suffix

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Jan 18 11:05:01 GMT 2022


On Jan 17 21:20, Johannes Schindelin wrote:
> When trying to create a directory called `xyz` in the presence of a
> directory `xyz.lnk`, the Cygwin runtime errors out with an `ENOENT`.
> 
> The root cause is actually a bit deeper: the `symlink_info::check()`
> method tries to figure out whether the given path refers to a symbolic
> link as emulated via `.lnk` files, but since it is a directory, that is
> not the case, and that hypothesis is rejected.
> 
> However, the `fileattr` field is not cleared, so that a later
> `.exists()` call on the instance mistakenly thinks that the symlink
> actually exists. Let's clear that field.
> 
> This fixes https://github.com/msys2/msys2-runtime/issues/81
> 
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> ---
> Published-As: https://github.com/dscho/msys2-runtime/releases/tag/dont-confuse-a-xyz.lnk-directory-for-a-lnk-file-cygwin-v1
> Fetch-It-Via: git fetch https://github.com/dscho/msys2-runtime dont-confuse-a-xyz.lnk-directory-for-a-lnk-file-cygwin-v1
> 
>  winsup/cygwin/path.cc | 1 +
>  1 file changed, 1 insertion(+)

Pushed with adeded "Cygwin:" tag in commit summary.

Thanks,
Corinna


More information about the Cygwin-patches mailing list