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,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 24698 invoked from network); 3 May 2023 15:56:47 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 3 May 2023 15:56:47 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1683129407; b=VdiktvqULEswPVjm6wX4XhditGC+Dg9lSkWaa29HEOFsQStmezi1qm0TekLOvN7Nmnmitk6fpl km9vtYZitG2KcvPd/+eBOtfQCNty+wNoTsB9Z9mF7DiiE4pdhlw/WZEZWZO9msm3BUcUNhMidA zuxftYZKPD/BIqE5CmJmbpJKoeq+E9HZK22ZOXmlQ+9T4YVeidOXcyufJs4jExFRela7F4cpFQ HxMcFSPFIZxsyQ9QQ/Xi/MLIiAmXiynWO6GpRZSzOlYjFG58aH+O0/VsUida0ON81m3RmgMi4d GbKcedHuYsgZe5XE1Usm6z5qcUN0qnYajyEVf51HX5AUQA==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-lj1-f177.google.com) smtp.remote-ip=209.85.208.177; dkim=pass header.d=gmail.com header.s=20221208 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1683129407; bh=i/FU/38ghoD9S1bNfLfhZaQf8MLicCMeC959GSUR0DM=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:Content-Type:Cc:To:Subject: Message-ID:Date:From:In-Reply-To:References:MIME-Version:DKIM-Signature: DKIM-Signature; b=TCtjY4s2tVO0BTZDoIMufpYb+k7nBOmvvHOpTcG5PN4ScUT5NyUXqGEE5ihT6rmW0T+5bEaI2M tdl8F9ekF7o48QQb6KC24hwDP/Ba0+n+Rp4sizeXrjZGnMh0iCfKtb/x3gGboo9GjNAdWe3Y4i mcw3oxnRs/7tE/Mh440B1O75n2rWjIJ5ik0YNonWWU6NQE0Ggu5nc/iFEi21HTCZtOOWQj+ZKp bpzbzO1DY9CkH7PYk26w4colXx+jRZDndNuRv7IR+r7KKJQQ1b83KR89aiY8N75vHh2awPr9qs WuHl0Eezhb7PAYwSJvoh8yldy9x9x51N8yndTlT+azYN9A==; 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:Cc:To:Subject:Message-ID:Date:From:In-Reply-To:References: MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=UCaxhGy8+ONhqNgd5ra0LtXib2sznRS6LgNe6m70k2U=; b=RsK2ktsfC2WNNnPrlnhkjOaN21 5WuDhe3venNGlINBpR0QDLSBN6RbxqQNt82TvU7BaI/mrMy/xnc2Z/T9gunhTc0tRAE+OpK3EbUYG nAshX6RklA2/qWozvvMyKTmv/WiJg+EKXs+/+fy02DAkPwZ/wuy+NCto0jp3zcY+Ui6+gH08p4EQK EchArakaimdy5KfO9Yic2BWhhVonU0bVW/XIFdnf36w4hwR3EZwiEgTRvuDQx4brhe9Ea/ATXvfhB dH6XS4N+IT/Bja45gwJjFyk/WggS3csvNV5L0ivmqWNLNmWk9+x3G5jzCWSRvdM5zLXWMzNa5ofof Yc4/4Tjg==; Received: by zero.zsh.org with local id 1puEqU-000Hcx-Aj; Wed, 03 May 2023 15:56:46 +0000 Authentication-Results: zsh.org; iprev=pass (mail-lj1-f177.google.com) smtp.remote-ip=209.85.208.177; dkim=pass header.d=gmail.com header.s=20221208 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-lj1-f177.google.com ([209.85.208.177]:50646) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1puEqH-000HLo-E1; Wed, 03 May 2023 15:56:35 +0000 Received: by mail-lj1-f177.google.com with SMTP id 38308e7fff4ca-2a7ac89b82dso55094811fa.1 for ; Wed, 03 May 2023 08:56:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683129393; x=1685721393; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=UCaxhGy8+ONhqNgd5ra0LtXib2sznRS6LgNe6m70k2U=; b=e/fLuzVI0ztY56Kr8gRR3J9OAfxDaRc+KnANlDQ8TGkWhfY344dXpq6jgYHR48JkRp wFkCw8N6o5KP8xyfefnDpBO2ym2rVjx00gXw0gcf92Zqv7hXbrT3PuS8HqBnVbY0B7lK D2GrXM0TKT9wQCJb0Q113R4wichOe+ra6N7ZyQiB3eGQDYEDurTNJazFrK5fpVKtf5DW OZLYVf9v/830obpBK0JhJDlnCPMkLrk+A2OCFTthewe0ei/uhp2O/tXmbYTLA0QrceLZ vycSODJHMtIgSVXDAN0vQ/fyYOR+AmoTwm+ixSa1mANQS6LbsNv19guuWq9lMlFvx0ep jJbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683129393; x=1685721393; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UCaxhGy8+ONhqNgd5ra0LtXib2sznRS6LgNe6m70k2U=; b=ONlk/K8jLOzTvl9JGVg/7V/zaeCuJNwgZsTnzzrqDXnH916pfsRlpsJzDmlcqP45bT e7/LC4c2fCr+dP4vbkZnN4VO2xwsBBQP/OmlH6UPnCdPO1iSR54xyHE62f9ikOj5BX9x O02o5zKOyH7V8+8wYF/2UnZ+C1+vIidY/ANKjnD+Pks2ESIlcO9nJm/y/utLZb7V0j7S 63ZcuGdKrLQ/jWBJuaqj4OjcD1R+usFr7wnEyQ2Uy3wNXNiSbigrfijlJObPwboYR2uM 0ichn0k0d1mbnPmcKYTkfMoi33LJ/CF2xE+1nJ5HXd7AEKEMKbzJiFZnwwEda88dtQif 2tug== X-Gm-Message-State: AC+VfDwWGtQtuKpkyq6v27qGphXT8bfaqtu6sZXEdmIGhTGoz0QXsGRV m5zd3v6ld+d9roB+dd2oS4u3YJEvZKxGgLI3sps= X-Google-Smtp-Source: ACHHUZ5g0VFAOAVOe2b7OfjyO4SJJLSMCPZd0MjkHngRh8Ji7keH55KZ37C4qtCQhKclMosLX3ZnbpVxiLtz/n9zq7s= X-Received: by 2002:a2e:b048:0:b0:2a7:a616:c39 with SMTP id d8-20020a2eb048000000b002a7a6160c39mr128092ljl.48.1683129392603; Wed, 03 May 2023 08:56:32 -0700 (PDT) MIME-Version: 1.0 References: <886115150.3264962.1682430985767@mail.virginmedia.com> <384683842.2892075.1682682065470@mail.virginmedia.com> <1209713483.9390210.1682691745248@mail.virginmedia.com> <9a4279398cabea525bb77662418ad536be7770bc.camel@ntlworld.com> In-Reply-To: From: Sebastian Gniazdowski Date: Wed, 3 May 2023 15:56:05 +0000 Message-ID: Subject: Re: [BUG] sigsegv To: Peter Stephenson Cc: Zsh hackers list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Seq: 51704 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: Adding wend<0 to the break-if helps for the crash: + if (wbegin >=3D len || wend > len||wend<0) + break; Pressing Alt-/ at empty line yields: 16:52[*cal/share/zinit/plugins/zsh]1# ! (git)-[master=E2=97=8F] zsh: do you wish to see all 1048 possibilities (1080 lines)? I wonder if 1080 is a much less value than the maximum? Why ! appears after Alt-/ ? I'm confused if it limits the results? On Wed, 3 May 2023 at 15:35, Sebastian Gniazdowski wrote: > > The error occurs with patch. I've played around in gdb: > > (gdb) p (int)(e-hstr) > $65 =3D -31903 > > This should be positive =E2=80=93 e points to a \0 inserted in hstr. That= 's > why printing e shows unexpected values. How come wend became negative? > > On Sun, 30 Apr 2023 at 17:31, Peter Stephenson > wrote: > > > > On Sat, 2023-04-29 at 10:52 +0000, Sebastian Gniazdowski wrote: > > > It says "incomplete sequence \339" although egrep $'\330' ~/.zhistor= y > > > doesn't return anything=E2=80=A6 > > > > So it looks like this is probably confusion over bad or incomplete > > multibyte characters again. > > > > Rather than bufferwords() --- I think that's not relevant at this point > > --- this could be the code that reads a history line back into the buff= er > > and divides it into words getting confused. This is different from > > the code that adds to a history line when it's first generated and > > likely to be less accurate --- and also fits better with the > > reproducibility of this problem. > > > > Anyway, given there's no single place where the line originates, > > and given that we're probably not going to be able to turn it into > > a proper line if the there's not a complete character sequence, > > safety at the point in question is probably the best we've got. > > > > See if this helps. > > > > pws > > > > diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c > > index 96a211c69..2067f5bab 100644 > > --- a/Src/Modules/parameter.c > > +++ b/Src/Modules/parameter.c > > @@ -1233,9 +1233,16 @@ histwgetfn(UNUSED(Param pm)) > > pushnode(l, getdata(n)); > > > > while (he) { > > + char *hstr =3D he->node.nam; > > + int len =3D strlen(hstr); > > for (iw =3D he->nwords - 1; iw >=3D 0; iw--) { > > - h =3D he->node.nam + he->words[iw * 2]; > > - e =3D he->node.nam + he->words[iw * 2 + 1]; > > + int wbegin =3D he->words[iw * 2]; > > + int wend =3D he->words[iw * 2 + 1]; > > + > > + if (wbegin >=3D len || wend > len) > > + break; > > + h =3D hstr + wbegin; > > + e =3D hstr + wend; > > sav =3D *e; > > *e =3D '\0'; > > addlinknode(l, dupstring(h)); > > > > > > > -- > Best regards, > Sebastian Gniazdowski --=20 Best regards, Sebastian Gniazdowski