From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2114.outbound.protection.outlook.com [40.107.94.114]) by sourceware.org (Postfix) with ESMTPS id C42B13857000 for ; Tue, 9 Aug 2022 19:52:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C42B13857000 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=cornell.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=cornell.edu ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Snu9HwbsfJ2xB4fexQL6LKdOXhQXBscljzK1XI4iXLb/+AX8UFCXcGrwHUnNPBGQjPtfi36CxJHtpNCNXuzCVGNnuZ0jfx0Ji6Zs/MU0KOTyU1Sbk7ea8Js9aWAq3Uen62OmgHDZnOAxzG6CBeqefnMTnvZu4MihSOSM7j/S/AwmLuXzu6fKN7/aZ84MDoMOp8KokZFAoCidIAyp4Z1prks+vM5tKcqGWmsc6KjCL/S5X8FISFAkeoK2mBFb4vku7vGwk0kVgxPWrx0mDCSHCUNnf3M+jOiCMAlX2Ju59+X53hXQ/px1UuUWGCLZDJvk6FAx3Uomg+B1QRA0rdjxbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=81Uy7tQAib1kFOgHNl7ZdyKNk7K89t3dqcMnRJgOI1E=; b=ad89+qMm2nQyli8XE6v7hyB458WceBHLYsfgtZc5CaOzzippNfxO1MvCGb8C2G1vhJkTlyJ1+Bm770++fmhOMPgR5UC/I8EPA1ghMuKrAOPClHs8soxK1O43vPB+E5aMZkwppz13EaKMjuDz8mmS60gKHDdC8sUT71ngQ9yvSj8FB0UgwETKGOpaTyBTy754NyiAWoy+XXAQ8ieG+WYtQeh7VMLJdKtIcCyzdOqosDszujyHXgxiPZeNJsz2Xwix8bX4n0j9+ASPz4UDeP7OQb3Pg6djQMgvDzPi5S6qOB2ChXffrx+l+5ysZRHD2UFhTDPXqPxisFghi+qfQIY7kg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cornell.edu; dmarc=pass action=none header.from=cornell.edu; dkim=pass header.d=cornell.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cornell.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=81Uy7tQAib1kFOgHNl7ZdyKNk7K89t3dqcMnRJgOI1E=; b=AQ8Bo44KuQp7eRFwdgZ0Q3WxM5nErfKRPMCpLm/CbKuNQpveqC+KlWMX66BX2dEPBzgk+JTjBUFCEbUP5AAPrH9fTFGCawEMrBlyBFJr9ETkRIU2oLUFxhsC2yT9+IGmeEbFuLlaTJaP3syzLH+j6jQY5fCebOr1vY/tXcraHzk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cornell.edu; Received: from BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) by BN6PR04MB0692.namprd04.prod.outlook.com (2603:10b6:404:d3::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.14; Tue, 9 Aug 2022 19:52:27 +0000 Received: from BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::901f:a758:30f5:309d]) by BN7PR04MB4388.namprd04.prod.outlook.com ([fe80::901f:a758:30f5:309d%2]) with mapi id 15.20.5504.020; Tue, 9 Aug 2022 19:52:27 +0000 Message-ID: Date: Tue, 9 Aug 2022 15:52:25 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.12.0 Subject: Re: Deleting a directory with the same name as a shortcut deletes everything in CWD Content-Language: en-US To: cygwin@cygwin.com References: <4b9acea9-b098-2c06-4530-10a4e9ca42b6@oskog97.com> <003884bf-bb7a-984a-668a-21221f142638@t-online.de> From: Ken Brown In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: BL0PR02CA0011.namprd02.prod.outlook.com (2603:10b6:207:3c::24) To BN7PR04MB4388.namprd04.prod.outlook.com (2603:10b6:406:f8::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9f7a8579-afd3-43af-74b6-08da7a40afa1 X-MS-TrafficTypeDiagnostic: BN6PR04MB0692:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: INSoYzuIODCt8wzrsFmOFjSXydHk+I//f/iqshCBGpuDe9E3IQ2lF/FaoEJwmBw8gmbi6Fr7ZAFbenHaM/aoXzaz2SEZPGluj+GRhso8arBVPNmDp8GYBc6JjeH3g3dEssKwTGxp/gVcYTtWnsLAfGgUuSEcrTdtzM7NZ+wlSD/DYS6PIX0jRMALibcPemTWFD0S3W9ZwVQ3b9ePWkfNBly+eFrFZe3H4e8I46hVZmNM9MFMowG1xO3U2SG5jMvRn56/qOA9QOEehgRSIye2FkY01KBZ0dXqHG0lF383IkhNTUU10Vgr9suytI9+FCI3wXoA3nINFsyo0tNEbAgSzyvv6gOmbZ/NjTDt6xoe53jC3ChQY9c+O7Bgkoc53TMY5BunR7TwZq5nD7EdEoi54Sk8lIErtmOYnPhkOAZIeFMyxemL/Z/rXCUalh2nCTgwc34xLpXnwuHK/Xv+NkkqBvAZtSkdAUX/3D3AnFZkOGjN58BGYbOKVVAHDsqsVkyP8JWEjVLM7VNQf7SaXGmzI92aBCMoHkz+UuGOCx/DG5CUTLBwLJNwq2mhk307PiUoeNOMKK7HUXAPAiztfxde05srggfjX0xfUnWYjlbQsv3aFoMlWT6Kt7a/ZM1d7kFMnyuxfJ95uEkuo1wiJ7woCWD0ZOLbgLELdBcCbyjjD0ul+0x46s2t0eCcPXK0iwjr2Lj4Jg6xH9+RTCpPhEEHtv6UcxzlH/XpfI+yB3gAySE9D3hkmjFRbpzi+sTEjsNoeyfsO90B4cSaA2Ctc1EtQUJaLviBJsILw7DgVmaJinGtAOEi2E0IIfyt/tm7eNvIkCX3P8JJwq4kqJNGkwSjsQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN7PR04MB4388.namprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(346002)(376002)(39860400002)(366004)(136003)(396003)(66946007)(66476007)(186003)(2616005)(66556008)(41320700001)(6486002)(8676002)(478600001)(38100700002)(31696002)(86362001)(75432002)(36756003)(31686004)(2906002)(5660300002)(8936002)(41300700001)(6916009)(786003)(316002)(6512007)(53546011)(6506007)(43740500002)(45980500001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a2dQWXhOTExBK09ieGJjWHpraUZRYmVSbFZLT0JaUk83TWd6U2dTRHd3eVFR?= =?utf-8?B?aFExRWhMQUJ5YzdzNUlUN3lwRXdEaHIvcEhDRW0ycjRoaXZ5RmEzdWhEc0t4?= =?utf-8?B?d0M3Z21NRjh3WDY2T0J0b0VSK2wwYnRUS0Z4YnE1QlVFTHlqZUdzUWJJQ0s5?= =?utf-8?B?OURYVXBucTVDelVaemIwYWVXMHZ1Syt3N1NtdFpNS2Z4MzQvT1FsYUZnTENN?= =?utf-8?B?dGZTdzZhTXdBdTVncWt0S0VkYlJIb2Rib0ZreVJRYXdSaTA0cExJN2hDendY?= =?utf-8?B?VEdPQTZTYTFYUmJXVFV5SkxOT0hhZ25wUU5EL0puQ3N2cEJjRWs2dWhYOElt?= =?utf-8?B?SHdtL0Nya3BsTGY1b2tqYW5yTnZtZExGMkQyRXhuRnpCRVZCYmVYbEEyVTRU?= =?utf-8?B?R24zZEZjU01qcEpROW9MaTJJYXNUV1NzOGZYR21ZSitETEZ6YW5WYkV2WFFK?= =?utf-8?B?TGFuaE93UjNxbmxRSmRXVkVGNUt0V1RjTGVTNkh4eW1vcUttVUtycks1UGNm?= =?utf-8?B?cS9CQ0hxaytmK1d3c01YbXR3VjZVMGFyc21WM013SlltUjRGekFmZm5OTkw4?= =?utf-8?B?bTYvd01SWTkwTVIzb1F6YzBPMkVhUnVFM2N3ZDJsVlJsWGUwa0xFRGZ6Z2NO?= =?utf-8?B?MUhwck9lNWtwaFBRVCtHeFUvV1IyZ2VZa0JGS3U4TFhmS0lTeFVCaXhxa2pN?= =?utf-8?B?OFZDeWo3MTFRRWdmU25XTXh2dnhEdHIzWWVtSUR0Wno0a1RCcElLUElqR1h2?= =?utf-8?B?NSt6ZTVnR09IcjlCWUM0eXNTYzBHbTJsMDQxZlRQbGhXZUEycG5ZUWJPVmZN?= =?utf-8?B?d2lzWi9NT0I4bHBYdlNpNGozTXBxM0NENWc5V1pGRnVNNi9UdGJyVElqOW1v?= =?utf-8?B?dEZnQXRYeFlmYTgvUWpGMElSankwN3lmd1MyVEF2RXBmVStZU1NteUNCS2R5?= =?utf-8?B?LzR3dktWbXZJdFo2T20xcDVkLzU5bk5mK3pVcG40L2hwamMxSXRqYWxvRVRF?= =?utf-8?B?SWdBMk1Cbi9keDRnVlVXMWFFNUVCWCtUSXoyTExDMU8rcWNwaFRkbzRBNCsw?= =?utf-8?B?SmhBbGZBS2pVQmg1NmEwUUpCRE1nbmFXVjZyTm5qV0F4M1BLVUdtYWpiMGlT?= =?utf-8?B?ZWdLQzNUK2VvQnRsRVFNbWdnY1hraTN4eTNMM25vY2U4QlZmRVlPdDNHbDU0?= =?utf-8?B?U1hsUzlBZGU0Y0h2MHBVTXpwemtpbjlUc0UxQktKOXhWOEpwdWNQVzFuUFN4?= =?utf-8?B?bFl2anA2SU8zL1lSZjFYSzI1SUlBeG4zUDRCOWhrdlBMWFFKcDlJOE1ZbHRx?= =?utf-8?B?aVJBcDl1VUo4cDlPdEVQUXVwUCtMSzVGeWpMSytTUE9CK0NoSllvNFdIMkM1?= =?utf-8?B?dHQwaDZsNTA3L1QxWUZxeGdRbkVuRVJNcC8vZHNmSENNNGpreEYrM3h3Y1BI?= =?utf-8?B?d05rU2gyZzJhVm5jZjU3MUVtdzV5eklIQXMyUllpZFAyREZPZEcwSE90blJP?= =?utf-8?B?aVN1bzU2UlVKZ01CK1YyREVvYk9JYVZCRkhMRVpDYzBPUlY3eTRqUzRrKzB2?= =?utf-8?B?cTBVZDMzVEdQZlk4ckdYcXlqbVNEZnhkaUJoSUZ3YnhjVEZyaENubmhaY1dt?= =?utf-8?B?OUVmTlZjdHhzQkwxS0tmUlZ6Tld1c2ZrSjlrMFl5V0VBUHZSc1VPV3VRZGxy?= =?utf-8?B?bXpicjlWZXZFZFNTZ1RKR0U4cTZuRUc1em5xVTdHRXhDU3Z6d21GeW8rc21x?= =?utf-8?B?SXFaMFgza1pyeEc4c1Vxb3VwYnd3REl4WlFCZy82WCtuLzk5NFYwQ0c1NVhC?= =?utf-8?B?cWMvRFJKaSt0T3N5WmhWNzk2S09iMGd1ZXV0OHZrTVlIVjRUUnZVSHZ0VkdP?= =?utf-8?B?aVZHN0ZjbmZlV2t0TFhaWkFwOGptbHE3Q3F3TCsrbXNaMGUyZ2luQzE3bm9x?= =?utf-8?B?Q0VpR0NORTJhSnVxS0g5Ly9SSlpJYUFQNStkN0JVd28rTjlXWitsU1dCME9a?= =?utf-8?B?NzA0MENOTVJJOUtXNXlZUTZLRmZ0b0EvUkJPVDBId3BsRytiVWhyZklWa2d1?= =?utf-8?B?NHpvWVR0SklLaXFiYXVlY0hYSVhSMWlRandkWEw3NnpaSnBMOEZ0a2JuTXBS?= =?utf-8?B?elpzOXNyeDBhcnN2eTVpMUx6VUtnekkzY0ZiRnhqSnFiSy81US9SQnBqQktq?= =?utf-8?Q?A9hPSUo9HI2ABKyrlu4vSfAMri9lC8a1rdPSQFEedRpI?= X-OriginatorOrg: cornell.edu X-MS-Exchange-CrossTenant-Network-Message-Id: 9f7a8579-afd3-43af-74b6-08da7a40afa1 X-MS-Exchange-CrossTenant-AuthSource: BN7PR04MB4388.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Aug 2022 19:52:27.1467 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 5d7e4366-1b9b-45cf-8e79-b14b27df46e1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: nb+NCpdlMxsXuoEaAV5Vq9hxGI5OxZmxx6ikPI/dFZou/2l+ZexgCuNK2bd2TOgdi5WKWyDP1nhsKVANuIrtfg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR04MB0692 X-Spam-Status: No, score=-1.6 required=5.0 tests=BAYES_00, BODY_8BITS, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, JMQ_SPF_NEUTRAL, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Aug 2022 19:52:31 -0000 On 8/8/2022 7:29 PM, Ken Brown wrote: > On 8/8/2022 7:56 AM, Christian Franke wrote: >> Testcase: >> >> $ ls -a >> .  .. >> >> $ touch link.lnk file.txt >> >> $ ls -a >> .  ..  file.txt  link.lnk >> >> $ stat -c %F link.lnk >> regular empty file >> >> $ stat -c %F link >> directory > > This happens because symlink_info::check returns -1 instead of 0 when called on > "link".  The main loop over suffixes finds and rejects link.lnk but then leaves > "res" as -1 when it continues looping.  The following patch fixes the problem: > > --- a/winsup/cygwin/path.cc > +++ b/winsup/cygwin/path.cc > @@ -3422,6 +3422,7 @@ restart: >         { >           fileattr = INVALID_FILE_ATTRIBUTES; >           set_error (ENOENT); > +         res = 0; >           continue; >         } > > It's possible that a better fix would be to set res = 0 at the beginning of each > iteration of the loop, but I'll have to study the code more carefully before I'm > sure of that.  Also, the comment preceding symlink_info::check needs to be fixed > to correctly indicate what a negative return value means.  I'll look at all this > more carefully tomorrow if no one beats me to it. I think the best fix is to set res = 0 at the beginning of the loop and to remove a "res = -1" that occurs later. I've sent a patch to cygwin-patches. Ken