3.0.7(0.338/5/3): Possible reference to Developer's instances of dev files in deployed build

Ken Brown kbrown@cornell.edu
Tue Dec 10 08:44:00 GMT 2019


On 12/9/2019 8:05 AM, Corinna Vinschen wrote:
> On Dec  9 12:47, Ken Brown wrote:
>> On 12/9/2019 4:17 AM, Corinna Vinschen wrote:
>>> On Dec  7 21:03, Ken Brown wrote:
>>>> I don't have any words of wisdom here, but I need to correct something I said
>>>> earlier.
>>>>
>>>> On 12/4/2019 3:50 PM, Ken Brown wrote:
>>>>> The assertion fails because 'Z:' doesn't contain a backslash.
>>>>
>>>> This is not quite right.  It's true that path_conv::check strips the trailing
>>>> backslash from Z:\, but then it adds it back before calling symlink_info::check:
>>>>
>>>>          /* If path is only a drivename, Windows interprets it as the
>>>> 	 current working directory on this drive instead of the root
>>>> 	 dir which is what we want. So we need the trailing backslash
>>>> 	 in this case. */
>>>>          if (full_path[0] && full_path[1] == ':' && full_path[2] == '\0')
>>>> 	{
>>>> 	  full_path[2] = '\\';
>>>> 	  full_path[3] = '\0';
>>>> 	}
>>>>
>>>> Thus symlink_info::check is in fact called on Z:\, but the assertion fails
>>>> because the code at path.cc:2905 is looking for a backslash prior to the
>>>> trailing backslash.  So maybe the right fix for the assertion failure is the
>>>> following:
>>>>
>>>> --- a/winsup/cygwin/path.cc
>>>> +++ b/winsup/cygwin/path.cc
>>>> @@ -2895,7 +2895,8 @@ restart:
>>>>                 slow down normal operation.  This extra check only kicks in if
>>>>                 we encountered a STATUS_OBJECT_NAME_NOT_FOUND *and* we didn't
>>>>                 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
>>>>                     last component. */
>>>
>>> Ok, please push that.  I'll create a snapshot so Wilfed can test this.
>>
>> Done.  I'll document it once Wilfed verifies that it fixes his problem.
> 
> Great!  I created new snapshots.
> 
> Wilfed, please test if the latest snapshot from
> https://cygwin.com/snapshots/ fixes your problem.

Tim, could you test it also to see if it solves the problem you reported in 
https://cygwin.com/ml/cygwin/2019-10/msg00155.html?

Thanks.

Ken

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list