DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 48FIJcjX625062 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=eav03AlA X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E34403858283 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1726424377; bh=VNhBIoiyh4aneZ4+RvriCvngKG6tHmE9yGRGh8Acp7I=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=eav03AlA+91/xzmOMEkdp0FpnI78ldMsQmBKMSX2deQ0VI+54DDeveGX843D6HKLQ 8NTGLvJNPOQgJvJ1tnm/om2QqN98ZsTC9AMMLRZiI7KYaNp2rP8deTlO3o3661JW5H 5u8c0Mabt279aktikb+a2m0el9PObtMp5036lSH0= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E79183858D20 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E79183858D20 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1726424351; cv=none; b=j7Onq8emaYRXcrnoWumcj929TwabT0ifgZNaX4bwwfnaRLaCa8bzqfOIq06Lfdi9o08KMsDy1rAnpa9ZZANxJZmvkfU/Z9LGQy7m3vHIcAey7Gt89cKeFmzCQ1ndjC9LRHsL7gLxiCVVdC/Fw5tqpC79mIFhHl+36JyQm/jNSpc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1726424351; c=relaxed/simple; bh=6oWWWVmDspwmjfiqi5Vlj9+ndgc1pLcAyJcGg8t0FlQ=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=fGJr+8YQazxwIipU/II6bsdkLFed7f5XN9R66ru7Q/9ROBu2Ej9CYbGm6yGbhxYnsTfMglyoGyUzfUtZW4ixSDzo0yOBwL4l8QCVhN8+I9abEOW39Bh0dV6k9LcgTGARoH4xlNHfHBebT6BZ4s3YN7mUM3OtQCnNA9clUolbl0M= ARC-Authentication-Results: i=1; server2.sourceware.org X-UI-Sender-Class: 55c96926-9e95-11ee-ae09-1f7a4046a0f6 Message-ID: Date: Sun, 15 Sep 2024 20:19:10 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: readdir() returns inaccessible name if file was created with invalid UTF-8 To: cygwin AT cygwin DOT com References: <96f2253b-791b-b8a0-97dd-8d257eefb9b1 AT t-online DOT de> Autocrypt: addr=towo AT towo DOT net; keydata= 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 kQ== In-Reply-To: X-Provags-ID: V03:K1:rrXQMTAqcRJm7gaoQqYDiSgN6EVWxvZ8hPYHq9EQw15uLMI+8JO MoMW2k5bUIaJgCrk12Ra0vW2IkF7HcDX6Voh/t9487UzgfEJJzSFlwkWDy17JzNQW8OxA5k JEPCiknkNU8s7QHycRvZKalV/Urkx/InSn1Duusd7pUwKvLPBbtKb5SSKtb9qigistLko+2 OuPWrKLGwpxl++WA+UNWg== UI-OutboundReport: notjunk:1;M01:P0:/OVw1yPI5Is=;r+GMuxC8bxIB7GSoA8OWtFCJCCY E3QHEvvzyPuNTI4msLJ0jxK9GbzdXP290VvOrfKxDKpaFHTnELWKb2mWA+PJwmr8H1ELT6v9I Fq3CCBE8xDm1Wo9y7s7ODpXpImbuN03jN/c15aeymbOridUIYsHOiUivG6NGDZLTSiDv/oclE xlVKc8VAeUwbN5YgOU3NlP2B/0XNyiSQQm0EQOrA/hw3+duv5FGqb/ZQNVaOi471P2rI/k8fZ dCZAJNlNoQbqkNuuBdfJysTpDf1aPaRAgEFRL4FVa+X4D8vJojJJ0cVRK60wwo+rH/2BVxkAF tdNThdjkcSfplaeI19iRuDLYT5xIPKl/WbB9SlOXd368bQH5pvkRC/W3T/bqajqytysJeKzrz GzZJw7GIjoQngYmHtvF1+U6ZA1wIrB6xHdICfNVAf7WgHLoopq5qjjUUMMtC7pxuaAZ1ra0+O uGFFAWZJ3IC4dwc+W+ZY41s9yfd6w9ykYR7EGkfFthwPmW0oPGYWObE7q3mAjDmX0uG/LwimX BIRkS0Dpkj7XgyBwNv/ziUafSOolTtP436YtAXBqGEn8T2UTNFFA01YlzVMT7oMvHegOGRRuh iBQlAykeG1lrRq/QpXjrpFJBvh5rge5iIAto4vYB2Mdlnn4CE8Hwu4mp92YhNeZUjSB+Q7I6m vWI9pM/j+oAqknIoZ1U4d1GaO9UMZJ9hMtTUhV51Uti5ee74SumhuP18276HUcsTnoEWVIytP WZfWoQv7/eOhA4RMc8W8Z3FDQ4Jdl5FAw== X-Spam-Status: No, score=0.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, KAM_NUMSUBJECT, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP 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 AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Thomas Wolff via Cygwin Reply-To: Thomas Wolff Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 48FIJcjX625062 Am 15.09.2024 um 20:15 schrieb Thomas Wolff via Cygwin: > Am 15.09.2024 um 19:47 schrieb Christian Franke via Cygwin: >> If a file name contains an invalid (truncated) UTF-8 sequence, open() >> does not refuse to create the file. Later readdir() returns a >> different name which could not be used to access the file. >> >> Testcase with U+1F321 (Thermometer): >> >> $ uname -r >> 3.5.4-1.x86_64 >> >> $ printf $'\U0001F321' | od -A none -t x1 >>  f0 9f 8c a1 >> >> $ touch 'file1-'$'\xf0\x9f\x8c\xa1''.ext' >> >> $ touch 'file2-'$'\xf0\x9f\x8c''.ext' >> >> $ touch 'file3-'$'\xf0\x9f\x8c' >> >> $ ls -1 >> ls: cannot access 'file2-.?ext': No such file or directory >> ls: cannot access 'file3-': No such file or directory >> 'file1-'$'\360\237\214\241''.ext' >> file2-.?ext >> file3- > I don't reproduce this. > While the file name gets mangled, all resulting file names are valid and > listed: > In file2 the sequence is turned into U+17B3 but exchanged with the dot. > In file3 the same sequence is just dropped. > $ ls -1|cat > file1-🌡.ext > file2-.ឳext > file3- > > However, ls file2* fails, as does ls *. On the other hand, ls file3- fails too, so some mapping error occurs internally. Also, the files cannot be deleted from cygwin (need to use cmd). > >> >> >> Name mapping according to "fhandler_disk_file::readdir" strace lines: >> >> "file1-\xF0\x9F\x8C\xA1.ext" -(open)-> L"file1-\xD83C\xDF21.ext" >> -(readdir)-> >> "file1-\xF0\x9F\x8C\xA1.ext" >> >> "file2-\xF0\x9f\x8C.ext" -(open)-> L"file2-\xD83C\xF02Eext" -(readdir)-> >> "file2-.\xE1\x9E\xB3ext" >> >> "file3-\xF0\x9F\x8C" -(open)-> L"file3-\xD83C\xF000" -(readdir)-> >> "file3-" >> >> Issue found because 'stress-ng --filename ...' could not cleanup its >> temp directory. >> > > -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple