From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id 3aad888f for ; Mon, 18 Mar 2019 10:19:13 +0000 (UTC) Received: (qmail 5729 invoked by alias); 18 Mar 2019 10:19:01 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 44142 Received: (qmail 27442 invoked by uid 1010); 18 Mar 2019 10:19:01 -0000 X-Qmail-Scanner-Diagnostics: from mailout2.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.100.2/25391. spamassassin: 3.4.2. Clear:RC:0(210.118.77.12):SA:0(-7.0/5.0):. Processed in 2.709548 secs); 18 Mar 2019 10:19:01 -0000 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.samsung.com designates 210.118.77.12 as permitted sender) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20190318101825euoutp02b567883d608ac9ed07826dcd5832d008~NBjze0eod3011230112euoutp02G DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1552904305; bh=VYsX+ep2NSR/38cxQEYWs+pOFAZ59r2hraCt8JWLeD8=; h=Subject:From:To:Date:In-Reply-To:References:From; b=YqbYp0g5f5YhTKYc5uBp87GKbzWlbzJfwsPDX5cP6HzCzgMjlAdQPEzfJKQOjTq9e GuobSuuJYVOeiXPH1B/6FY99PrjdO3a4csUS5gQxTCaVlQiPXh4ASwLiKXpRJRqsQ6 k/EgFnKSpL4zp59t2hLZxZLOvxvIDJXXj/FCE7tw= X-AuditID: cbfec7f5-367ff700000012c6-71-5c8f70707725 Message-ID: <1552904302.5658.6.camel@samsung.com> Subject: Re: Fwd: Bug#924736: zsh 5.7.1 segfaults when three setopt options are in play [origin: wesley@schwengle.net] From: Peter Stephenson To: Date: Mon, 18 Mar 2019 10:18:22 +0000 In-Reply-To: <20190316214155.GH10429@sym.noone.org> X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrHIsWRmVeSWpSXmKPExsWy7djP87oFBf0xBlu+SVocbH7I5MDoserg B6YAxigum5TUnMyy1CJ9uwSujBWT3AtecFU8/93H1MB4jqOLkZNDQsBEov/oLuYuRi4OIYEV jBKnPl9lhHD6mCRO7vjDDuH0Mkl8/rGJFaal+/4+NhBbSGA5o8T5V/xwRdeuXIXqOMMo8XNB NxOEc4FRYs+ZOWDtvAKGEofOrWAEsYUFKiReTV0DFmcDik/dNBssLiIgKXGt+TSYzSKgKjHx ywYwm1PAWGLvh5mMEGdoSGy4eYwJYqagxMmZT1hAbGYBeYnmrbPBPpIQuM8mse7ZTHaIBheJ V3s6oZqFJV4d3wIVl5E4PbmHBaKhnVFizaTX7BBOD6PEpqN3oDqsJfpuXwSyOYBWaEqs36UP EXaU+LpxDVhYQoBP4sZbQYgj+CQmbZvODBHmlehoE4KoVpPY0bQVqlpG4ukahQmMSrOQfDAL yQezEFYtYGRexSieWlqcm55abJyXWq5XnJhbXJqXrpecn7uJEZgKTv87/nUH474/SYcYBTgY lXh4b0zrixFiTSwrrsw9xCjBwawkwmvv2R8jxJuSWFmVWpQfX1Sak1p8iFGag0VJnLea4UG0 kEB6YklqdmpqQWoRTJaJg1OqgTF8QmHEccWMpKeeNt/Nq6IZ1tw12yh51X/1FetdJzifnlq3 hr8v94zn/DX739WLvLvhPGn58adzeh1Wle+6tmO/y6+439vkpjyeEHd+0defTKpHTvW4ld3i NLX48zjy6w/2e1yTbrN/aX/22MvoWHxWo2dyVuTdpy/7PYxjXrTzl9ope7zv8vqtxFKckWio xVxUnAgAsWVKVgEDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpgkeLIzCtJLcpLzFFi42I5/e/4Xd38gv4Yg0vtOhYHmx8yOTB6rDr4 gSmAMUrPpii/tCRVISO/uMRWKdrQwkjP0NJCz8jEUs/Q2DzWyshUSd/OJiU1J7MstUjfLkEv Y8Uk94IXXBXPf/cxNTCe4+hi5OSQEDCR6L6/j62LkYtDSGApo0TPlB4miISMxKcrH9khbGGJ P9e6oIq6mSSu/trIDOGcYZRYtesYI0iVkMAFRomry5hBbF4BQ4lD51aAxYUFKiReTV3DCmKz AcWnbpoNFhcRkJS41nwazGYRUJWY+GUDmM0pYCyx98NMqJntjBL3HxqD2MwCmhKt239DXaQh seHmMSaIXYISJ2c+YYGokZdo3jqbeQKj0CwkLbOQlM1CUraAkXkVo0hqaXFuem6xkV5xYm5x aV66XnJ+7iZGYOhvO/Zzyw7GrnfBhxgFOBiVeHhvTOuLEWJNLCuuzD3EKMHBrCTCa+/ZHyPE m5JYWZValB9fVJqTWnyI0RTooYnMUqLJ+cC4zCuJNzQ1NLewNDQ3Njc2s1AS5z1vUBklJJCe WJKanZpakFoE08fEwSnVwBh2pFXgcJbklH0vj9e2aBYbqzqUL38X/ePo6SV97rmz29/vXzvp +3nFq//nactsbzu4c5Ku1ekO/TV9h3X/b3E/MM94xTTnI7MCjS772khffb70c3ntEgf/nO5/ YWWM33eFSN64JJS00/pk0KYVl+dpy9ZeLOfmXzHf+eZHY/55hnIXhGwPNL9RYinOSDTUYi4q TgQAVMO/GpMCAAA= X-CMS-MailID: 20190318101824eucas1p1594434e19ec6867f43f4fe463b93cecc X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20190316214308epcas4p4470c8cac303dbbcdcec8e62a593e3ceb X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20190316214308epcas4p4470c8cac303dbbcdcec8e62a593e3ceb References: <20190316214155.GH10429@sym.noone.org> On Sat, 2019-03-16 at 22:41 +0100, Axel Beckert wrote: > Have a zshrc with the following setopts: >  > setopt hist_reduce_blanks > setopt hist_ignore_space > setopt interactivecomments >  > * Run zsh -f > * Now enter `     #` > * You get a command not found error > * Now source your zshrc > * Again entery `     #` > * Segfault Yes, that's completely reproducible. I think it's the logic within histreduceblanks() that's flaky in this case, where there's a comment at the end of a line with no commands and hence no words.  The final comment is a special case because the positions of words aren't marked.  It can't possibly be correct to do that copy at the end if the destination pointer is after the source pointer, can it?  So I think the following ought to be safe. If anyone else thinks the code here is trying to do something cleverer that this may stop --- your guess is as good as mine at this point --- let me know (but I think that's a much lesser problem). pws diff --git a/Src/hist.c b/Src/hist.c index f7e53de..901cd3b 100644 --- a/Src/hist.c +++ b/Src/hist.c @@ -1198,8 +1198,9 @@ histreduceblanks(void)   chline[pos] = '\0';      } else {   ptr = chline + pos; - while ((*ptr++ = *lastptr++)) -     ; + if (ptr < lastptr) +     while ((*ptr++ = *lastptr++)) + ;      }  }