From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 31899 invoked from network); 13 Dec 2022 10:13:36 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 13 Dec 2022 10:13:36 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1670926416; b=Dxcm8oou3urR7V4a9iUpf/J/uSMamNDyXvFfa4GRT1bgzOusKmEW2DwthIzL+YybgVPDsNn5Wn N9e/lNqRv1t/vcdH2VMn4GENGo6UFT5wDrTXVgqUb4bOmzmJQcgypg2BJHyjIIQx2WunwGXf39 k0iBOhbf1sjUBRPURJiWIKrwKSmL8peFHgaypWXLvARzRhA00Uo/r7mffSAn7YcctIG2y8j8am zuSzi4luuq0nHVsTfvRervG+JDlFANhCR4tR2wKc4vEpb2jYjK3/gGb6w1KiTxVXxaBoM98mwe Dw0eHg7nMDMisjP28eDUskEhVYA56wFoDKRQCU6owHZhiQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (smtpq1.tb.ukmail.iss.as9143.net) smtp.remote-ip=212.54.57.96; dkim=pass header.d=ntlworld.com header.s=meg.feb2017 header.a=rsa-sha256; dmarc=pass header.from=ntlworld.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1670926416; bh=CNWDeNfFlW4o16Yr8mn2KeCo76meylFfKxdXERdFgHM=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject: References:In-Reply-To:Message-ID:To:From:Date:DKIM-Signature: DKIM-Signature; b=oiZKmbD/Or2DixhKpPogAEHqmdFAD1Zj8nss6D7isMHTNaloW1JWPvZZs4fAZahJxQLZkRG60M cULN7uLBQOh7P2XN+TqyIPDvMhSfMly5wk/Jw67BQty+Cf1LOTfzaeYZQLOxEe4bHn+1dHesti 42o8In+jfy0Bje8he5QNBvuSfXWksAPUgkZ6Wb0NCrMiK13DhwQj7IRaimu7girae3FTTMxtrd 2Ig9iJooxXUT96Dj+ZbLRLenrN/BHCr8jiTLRfT1nFh3Z/fKs32l8ZkivA9klR2DV4xj7JKXab 2aO/X2WObHkzs7YyVlzVWqhMOXSz+9cnFulk4iqL6J4Wbw==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Subject:References:In-Reply-To:Message-ID:To:From: Date:Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=xEUNSJgi3Y8Po439dQnvdJFVS2rhJhdagNLhtxK0Wk4=; b=f1cMcs5yuixO1VsSsBUlgqf7iw sp2cjorFxIR5sJITkRdacPnuW6jGgRkrvSXNQgjXuW365dFWuVtPtmo44TNPwO4hkd/ZgugszWKE/ kj2I1XpICofSqAnugxVm8pLyKL09RhDD3lArde98UX1cxQPMh9eWnyfRkvE+SBKjMQL3hyJ5xvXGJ b31Vrj/0pe5oeFb9UlmGMG8WRrncwd6rrkT1p67GpWOe2I9+2fz9N+eH7fRoHHpPLDgezFtnQzz0M IdY9i2tVTwNTtBzw8FAwbv6WLLcPV02nv0wXy7+fCc29E0LMbpb1eRyzckdIqth+fkJ40bxXyo/Bl HBQn6HbA==; Received: by zero.zsh.org with local id 1p52I3-0008Py-M8; Tue, 13 Dec 2022 10:13:35 +0000 Authentication-Results: zsh.org; iprev=pass (smtpq1.tb.ukmail.iss.as9143.net) smtp.remote-ip=212.54.57.96; dkim=pass header.d=ntlworld.com header.s=meg.feb2017 header.a=rsa-sha256; dmarc=pass header.from=ntlworld.com; arc=none Received: from smtpq1.tb.ukmail.iss.as9143.net ([212.54.57.96]:46014) by zero.zsh.org with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) id 1p52Hq-00086u-6P; Tue, 13 Dec 2022 10:13:23 +0000 Received: from [212.54.57.82] (helo=smtp3.tb.ukmail.iss.as9143.net) by smtpq1.tb.ukmail.iss.as9143.net with esmtp (Exim 4.90_1) (envelope-from ) id 1p52Hp-0005im-Gy for zsh-workers@zsh.org; Tue, 13 Dec 2022 11:13:21 +0100 Received: from oxbe9.tb.ukmail.iss.as9143.net ([172.25.160.140]) by smtp3.tb.ukmail.iss.as9143.net with ESMTP id 52HpphknZYBhJ52HppkJ2X; Tue, 13 Dec 2022 11:13:21 +0100 X-Env-Mailfrom: p.w.stephenson@ntlworld.com X-Env-Rcptto: zsh-workers@zsh.org X-SourceIP: 172.25.160.140 X-CNFS-Analysis: v=2.4 cv=Vd8xfnl9 c=1 sm=1 tr=0 ts=63985041 cx=a_exe a=3Amxf2QPfMiVt6ICWsHjRQ==:117 a=1DWFKdCB1IcA:10 a=IkcTkHD0fZMA:10 a=ZjyAdWuDOD4A:10 a=NLZqzBF-AAAA:8 a=uPfZGqtCvCx7rRzGHL0A:9 a=QEXdDO2ut3YA:10 a=V2A-AyyUBAfGkCDj3hnw:22 X-Authenticated-Sender: p.w.stephenson@ntlworld.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ntlworld.com; s=meg.feb2017; t=1670926401; bh=CNWDeNfFlW4o16Yr8mn2KeCo76meylFfKxdXERdFgHM=; h=Date:From:To:In-Reply-To:References:Subject; b=MvlG19J2a+HAs+r1Tsop02m8QQU1GwzGPNxvbRhsAuBGxaorfJ0SbG2If2lnQm8gj fOp8GWKN7zntrh6TU8Y6MtJLhPEkRj2yXIQi8ZePi5cX75YQcK2jfLaR0+XQ2fX/8f PY0xBjM7IIr3/fAvH3toivxrVAulyXqGClStjkArP/4ZbEVaAmGPKxwWk0IzoVS92/ h8RdhjNyawS3+GIcjtpnGbYAO/snMMxBMV+IYpqSN35JNP0tIBnVcluwt+zXQ3g7Hr HDb0P7pDAehZgnCUY3Rc3vAgBzaf0YSnuPmR3uEkQOXVCxUXxYa+2VQG2Mcm2vlEhO 5rWIE77bmZwPw== Date: Tue, 13 Dec 2022 10:13:21 +0000 (GMT) From: Peter Stephenson To: zsh-workers@zsh.org Message-ID: <985975587.7151691.1670926401043@mail.virginmedia.com> In-Reply-To: <98F2CEB4-691A-4DA3-9B41-5341EA3E8B9B@kba.biglobe.ne.jp> References: <20221118142717.t4elzrigjeizjm6w@chazelas.org> <351204342.6213761.1669732685914@mail.virginmedia.com> <98F2CEB4-691A-4DA3-9B41-5341EA3E8B9B@kba.biglobe.ne.jp> Subject: Re: [bug] busyloop upon $=var with NULs when $IFS contains both NUL and a byte > 0x7f MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Priority: 3 Importance: Normal X-Mailer: Open-Xchange Mailer X-Originating-IP: 147.161.224.167 X-Originating-Client: open-xchange-appsuite X-CMAE-Envelope: MS4xfCdIIP2FfD0hwBr/HnK6OYNp4APQNzu5Py5XN3pmdYtQ7Gu4w/P16r+U11xAjLcTOMesLPEuJS2iiMrBzCUM4Q7Z3L8LCTWZbd9Da8AvMPfuIIfNujru iYpT063hUe/NeuAISFMLCN3lUfexidbaGgDf/LYrL4fDg7woPn3BrjVgD10yXP4zxn6kkVu7948e0kKFu/bRts4tWwfvtyzKAnNkMXcT1QwCQdTNrNpws+Af X-Seq: 51206 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: > On 13/12/2022 09:49 Jun T wrote: > > 2022/11/29 23:38, Peter Stephenson wrote: > > > >> On 29/11/2022 14:27 Jun. T wrote: > >> 3834 for (; *s; r++) { > >> 3835 char *ie = itype_end(s, ISEP, 1); > >> 3836 if (ie != s) { > >> 3837 s = ie; > >> .... > >> 3840 } > >> 3841 (void)findsep(&s, NULL, 0); > >> .... > >> 3845 } > >> > >> Here, the pointer s already points to a ISEP (\x83\x20 = metafied Nul), > >> but itype_end() can't find the next ISEP (ie == s) due to the empty > >> ifs_wide, and findsep() does not move s because *s is already ISEP, > >> resulting in infinite-loop with the same s. > > > > I guess the obvious thing to do here is any time s doesn't move > > give up splitting at that point. > > How can we 'give up'? Is it OK to call exit()? By giving up, I meant we stop splitting at that point and leave the rest of the string intact. If splitting fails, stop splitting... pws