Cygwin: symlink_info::check: avoid assertion failure
On certain error conditions there is a code snippet that checks whether the last component of the path has a trailing dot or space or a leading space. Skip this check if the last component is empty, i.e., if the path ends with a backslash. This avoids an assertion failure if the trailing backslash is the only backslash in the path, as is the case for a DOS drive 'X:\'. Addresses: https://cygwin.com/ml/cygwin/2019-12/msg00016.html
This commit is contained in:
parent
7a526cdc28
commit
48fbe173f4
|
@ -2895,7 +2895,8 @@ restart:
|
||||||
slow down normal operation. This extra check only kicks in if
|
slow down normal operation. This extra check only kicks in if
|
||||||
we encountered a STATUS_OBJECT_NAME_NOT_FOUND *and* we didn't
|
we encountered a STATUS_OBJECT_NAME_NOT_FOUND *and* we didn't
|
||||||
already attach a suffix. */
|
already attach a suffix. */
|
||||||
if (!restarted && !*ext_here && !(mount_flags & MOUNT_DOS))
|
if (!restarted && !*ext_here && ext_here[-1] != '\\'
|
||||||
|
&& !(mount_flags & MOUNT_DOS))
|
||||||
{
|
{
|
||||||
/* Check for trailing dot or space or leading space in
|
/* Check for trailing dot or space or leading space in
|
||||||
last component. */
|
last component. */
|
||||||
|
|
Loading…
Reference in New Issue