From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9447 invoked by alias); 11 May 2017 16:25:59 -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: X-Seq: 41096 Received: (qmail 10780 invoked from network); 11 May 2017 16:25:58 -0000 X-Qmail-Scanner-Diagnostics: from mailout1.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.99.2/21882. spamassassin: 3.4.1. Clear:RC:0(210.118.77.11):SA:0(-5.0/5.0):. Processed in 2.463004 secs); 11 May 2017 16:25:58 -0000 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-5.0 required=5.0 tests=RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.1 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at samsung.com does not designate permitted sender hosts) X-AuditID: cbfec7f1-f796e6d00000116b-80-59148e30a707 Date: Thu, 11 May 2017 17:15:38 +0100 From: Peter Stephenson To: zsh-workers@zsh.org Subject: Re: Zsh parser malloc corruption Message-id: <20170511171538.7824aed0@pwslap01u.europe.root.pri> In-reply-to: <170509232141.ZM7753@torch.brasslantern.com> Organization: Samsung Cambridge Solution Centre X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.0; i386-redhat-linux-gnu) MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrHIsWRmVeSWpSXmKPExsWy7djPc7oGfSKRBsc7hS0ONj9kcmD0WHXw A1MAYxSXTUpqTmZZapG+XQJXxv7zR5kLjnBWnPq5iKmBcSN7FyMnh4SAicTbs8uZIGwxiQv3 1rN1MXJxCAksZZT4+HsyC4TTyyTx59tfFpiOD+c/skIkljFKLGjohWqZxiSx//FNdgjnDKPE lTO7ocrOMkpc/faEFaSfRUBVoun2KbBZbAKGElM3zWYEsUUExCXOrj0PFhcW0JS4t+4YM4jN K2Av0fa9HyzOKWAp8ePoNDYQm19AX+Lq309Ql9tLzLxyhhGiXlDix+R7YPXMAjoS27Y9Zoew 5SU2r3nLDHKQhMBvNokV12cBORxAjqzEpgPMEHNcJHbu2wINGWGJV8dhbBmJy5O7of7vZ5R4 0u0LMWcGo8TpMzvYIBLWEn23LzJCLOOTmLRtOtR8XomONiGIEg+J/rfrWCFsR4mJW7+zTmBU nIXk7FlIzp6F5OwFjMyrGEVSS4tz01OLjfSKE3OLS/PS9ZLzczcxAlPB6X/HP+5gfH/C6hCj AAejEg+vRJVIpBBrYllxZe4hRgkOZiUR3vx2oBBvSmJlVWpRfnxRaU5q8SFGaQ4WJXFerlPX IoQE0hNLUrNTUwtSi2CyTBycUg2MrDonz56LWdFzI6JEtWHziVf9qk8Ufp6tuqK5oO7wlpYP 7+KuTdEUsbnt/GWtMc/934vY7hYWtr19vL7rkLrT9xPhgobtOREPvFinHf514WY9755H6yXu sX7W7nnw0vvX3B+1BouexV8pey53/7Jpd+BcwevsYSzlHtfYOes61Pe6tDmsePD7kBJLcUai oRZzUXEiAHJieZgBAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrOIsWRmVeSWpSXmKPExsVy+t/xK7r+fSKRBs9fCVgcbH7I5MDoserg B6YAxig3m4zUxJTUIoXUvOT8lMy8dFul0BA3XQslhbzE3FRbpQhd35AgJYWyxJxSIM/IAA04 OAe4Byvp2yW4Zew/f5S54Ahnxamfi5gaGDeydzFyckgImEh8OP+RFcIWk7hwbz1bFyMXh5DA EkaJ/XP/MkE4M5gk3j5bzQ7hnGOU+Pp4ApRzllHi1s9TLCD9LAKqEk23IWw2AUOJqZtmM4LY IgLiEmfXngeLCwtoStxbd4wZxOYVsJdo+94PFucUsJT4cXQa1O6rjBLtR1eANfML6Etc/fuJ CeJAe4mZV84wQjQLSvyYfA+smVlAS2LztiZWCFteYvOat2ALhATUJW7c3c0+gVF4FpKWWUha ZiFpWcDIvIpRJLW0ODc9t9hIrzgxt7g0L10vOT93EyMwkrYd+7llB2PXu+BDjAIcjEo8vBJV IpFCrIllxZW5hxglOJiVRHjz24FCvCmJlVWpRfnxRaU5qcWHGE2BITORWUo0OR8Y5Xkl8YYm huaWhkbGFhbmRkZK4rxTP1wJFxJITyxJzU5NLUgtgulj4uCUamAs43/+vf3dKSv+lRJtKUmL b7s+rlp9cHlI04z7lSu852+Z1/eXb/bdpg/Lhdc1i62zFTnCqjBp+/UFP+elqBYEn3+rsb30 XY2PduJpjhI7HhvBuDczeXkUVk6dd36iRd6Vokg328MCE51vRWsez72ipPlk+vHk4KgHx60P akyYez3ZdnlthXmtEktxRqKhFnNRcSIA11ZSQboCAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170511161543eucas1p2727722e3fcf2ba4c1ff9d35c0fe61e27 X-Msg-Generator: CA X-Sender-IP: 182.198.249.180 X-Local-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUb?= =?UTF-8?B?7IK87ISx7KCE7J6QG1ByaW5jaXBhbCBFbmdpbmVlciwgU29mdHdhcmU=?= X-Global-Sender: =?UTF-8?B?UGV0ZXIgU3RlcGhlbnNvbhtTQ1NDLURhdGEgUGxhbmUbU2Ft?= =?UTF-8?B?c3VuZyBFbGVjdHJvbmljcxtQcmluY2lwYWwgRW5naW5lZXIsIFNvZnR3YXJl?= X-Sender-Code: =?UTF-8?B?QzEwG0VIURtDMTBDRDA1Q0QwNTAwNTg=?= CMS-TYPE: 201P X-HopCount: 7 X-CMS-RootMailID: 20170510062205epcas2p309c32c11076f49fba774b08d3a236787 X-RootMTR: 20170510062205epcas2p309c32c11076f49fba774b08d3a236787 References: <170509232141.ZM7753@torch.brasslantern.com> On Tue, 9 May 2017 23:21:41 -0700 Bart Schaefer wrote: > PWS, I'm going to ask you to please look at this after all, because it > seems to be related to > > 36682: expand pattern interface to optimise unmetafication > > Valgrind says: > > ==19116== Invalid write of size 1 > ==19116== at 0x4A2E0D: patcompile (pattern.c:679) Doesn't seem easy to reproduce --- probably due to malloc library variabilities and/or uninitialised memory --- but when I managed to get it to happen it reported an error a few lines earlier. Does the following help? I think it's needed in any case --- we can't use strcpy() on unmetafied strings as they are there partly to allow us to treat embedded nulls as normal characters. It's also pointless and inconsistent testing for a NULL termination in a function with the length passed in. pws diff --git a/Src/string.c b/Src/string.c index a8da14f..9e14ef9 100644 --- a/Src/string.c +++ b/Src/string.c @@ -52,7 +52,8 @@ dupstring_wlen(const char *s, unsigned len) if (!s) return NULL; t = (char *) zhalloc(len + 1); - strcpy(t, s); + memcpy(t, s, len); + t[len] = '\0'; return t; }