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,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 26988 invoked from network); 19 Mar 2022 00:34:15 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 19 Mar 2022 00:34:15 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1647650055; b=NH35FreTZEz3dviWJ6PpznlBW8hulVAOsc5niJhYNryBR0IhIgzs+ZrDbJdpr5koYd/yGcccUk ZEw3lkKIxhhGG+0UP2s3IA5s6iGRGLdYQ2LAoN3kMxnUE20UnMD3IDM3X6Xo0EGN5GTonneBSm sBRJ1FIUOnRDNedhXCjd+Fk25kU5BZXmnamRFVPA4HXbvseepCICb/15+XCmMkltAreO5i+l81 WHVZ9rQ4QrIpxlqN3XfqaYG0JSJ7TYcL4OrdsgEEdyvbxy1xSo26tlSieFPujBOSWEvpnWigP9 IwIjgiRk6F2NTS8jUE3Fp/wUWw8LZ8/rF4bQL+uuSAbKnQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-lf1-f43.google.com) smtp.remote-ip=209.85.167.43; dkim=pass header.d=gmail.com header.s=20210112 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=1647650055; bh=DiftlhR/He/CkHj0I40z3O4kxk9SK7gv2FT38WkYgl0=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Message-ID:Date:Subject:To:From:DKIM-Signature: DKIM-Signature; b=DtmPwmqUnkFZ04nHusGK4iQfYzr7Rgn11luUk1yanHM2kUZdrOkYWT+eZ+Btr+HaL06evteq/z YwKsklE23VVzIl3A4iF/sWqNuXMSHvglccIaZ3eDhf9RpYl/2jvTEUrTrnoQIvWkGdx67G7ZWW I1PaAVcDStnf/542mQ6UKctVCGmm04JDFl1SzA1qFJgCsA9xCntagU7RrKCPYnb6x9MZ22coKI kLsZhQlXsPBRftMIiAfaLSO1vcOTBYR65ssYrPACT+nxH3Yu5FCCEyB86B+HeKw/Z7Mx/qmnQu qbYxFFta0CkiILbY/0XCbha7sNvmIpd1G22msQacri4IEw==; 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:Message-Id:Date:Subject:To:From: Reply-To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=KvgnYqu84bnr0i6XT02qUrPoU5FDJV5zanOyuc+DDT0=; b=Lh4ugrCgMkmJ1oO1Z+rTi+nzye 0bpL9NdmflVOSCME0deLprJfh5nEqaDUV+7IwI/M4ndZBzAZY6+YLpXwYzCv9Co0mTI+6KBFOTLcb 1MO05jG95v/68xtWWQSNlywOnug+x/qyPHokfcdWvSI/yTrk0tVUeZCvYDduHcZCNOUiJHJz/ZoEA uBU3kyLDUUm1+zoBpmKwdD95OdxoSoig97vR5ORtVU31Vn98/vh60pOrswkjYZ3jPVkBUN3R53byp bSzch4H+A81kMbSzGG6vamnMNxEAERYC0t6T4Zrv+CFtccZZxUB0y8mkEPuNDhxI54uCMMDlobayv 6TrhLicw==; Received: from authenticated user by zero.zsh.org with local id 1nVN2r-0007pj-Qk; Sat, 19 Mar 2022 00:34:13 +0000 Authentication-Results: zsh.org; iprev=pass (mail-lf1-f43.google.com) smtp.remote-ip=209.85.167.43; dkim=pass header.d=gmail.com header.s=20210112 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-lf1-f43.google.com ([209.85.167.43]:44021) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1nVN2L-0007UY-Il; Sat, 19 Mar 2022 00:33:41 +0000 Received: by mail-lf1-f43.google.com with SMTP id a25so3088579lfm.10 for ; Fri, 18 Mar 2022 17:33:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:subject:date:message-id; bh=KvgnYqu84bnr0i6XT02qUrPoU5FDJV5zanOyuc+DDT0=; b=RWfDojuHXYN7Q1FSUlhP/nm8IATOFwzA3NYe3HCcjP3ehAxVfH5uUPu/F/mKEdYHyu aFoqFxINtECrs8FqgSJatFfuw41VxAdhsPOIl+T4zmwPWYUw4NQvwL7nPF3/IZkl2m2l +htv+TBJodAs9IJiZ5vf/xodSb+fpAqB/lXZpaCsut3S1avHDZ6hed01rssHUNYviA9L /k5NrWDh9sKHaVB0Oseq/of5beMnahbRuo31/jszIrKgbrEDpUsTwwAkl9q/3IDYiAsH CESFthlNrCtBJ6q+F6L15bx3dv/xKw6TGPXSTW0NW84GYvCIZSlTrMWoKtTh0ah8MOvA d+Rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id; bh=KvgnYqu84bnr0i6XT02qUrPoU5FDJV5zanOyuc+DDT0=; b=RhXgzVoIoYuW99gTOW/9p++4hi98JgPnp8aKvUsU9UrBfrEeN31qJsGPdErWLHl5Jf TU+lHpCZ0OznXL5yzaSZMte9fYa5mGesdr4knFVGxUVP4V72iNQdF/j5l4+n4tzSGpfs P/S0FkFAsbMSAO1mbFHPn0923QpHaDrOrrocG5a58tJh5Qoe8Xc5gjFJX4UuHWFkKnHO aohKKtvSdV66FtvXt+gXtMwnEiSZzDkba3YqVGSf283gVohb9kKEBW/yjwxbe06PmIqO aQXpH3NfTxxvjjhN0VlkJKF0Zh8RdV62ylGTXFPs8Km36p+j1Ke6teKvjTOm10n4qdtk Nclw== X-Gm-Message-State: AOAM533+W6qNY5K+VjC7pf89BUVKxdx2G/8QS2ay0a0tQDPx9bxLx46l YweOJP+tfvKnfA0rLbV/ML0EWkainpA= X-Google-Smtp-Source: ABdhPJxTIYPAyMX61J5mBQOZM4y01TWX7KE8p888tv1ybmB7+VRE1sJf3n781jIowiUhcl8UnxVH0A== X-Received: by 2002:ac2:4c04:0:b0:443:ac94:3de5 with SMTP id t4-20020ac24c04000000b00443ac943de5mr7444738lfq.329.1647650020671; Fri, 18 Mar 2022 17:33:40 -0700 (PDT) Received: from localhost.localdomain (h-212-85-88-110.A230.priv.bahnhof.se. [212.85.88.110]) by smtp.gmail.com with ESMTPSA id m2-20020a05651202e200b0044a0d0f99b9sm485971lfq.278.2022.03.18.17.33.39 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 18 Mar 2022 17:33:39 -0700 (PDT) From: Mikael Magnusson To: zsh-workers@zsh.org Subject: PATCH: Fix 49658 more Date: Sat, 19 Mar 2022 01:33:31 +0100 Message-Id: <20220319003331.16866-1-mikachu@gmail.com> X-Mailer: git-send-email 2.15.1 X-Seq: 49870 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: Revert "49658: Fix NULL reference in match code." This reverts commit 7f240e6aa9f5596a129474ba6294875dfe7ae264. The above commit causes a crash due to ll being calculated as 0 which leads to rr being an invalid pointer. Only fixing that to return NULL when ll is 0 just leads to bck-i-search pattern not working at all, restoring the condition and adding an explicit NULL check for replstr seems to work for me. --- Src/glob.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Src/glob.c b/Src/glob.c index e31843ad09..aa43253db3 100644 --- a/Src/glob.c +++ b/Src/glob.c @@ -2599,7 +2599,7 @@ get_match_ret(Imatchdata imd, int b, int e) e += add; /* Everything now refers to metafied lengths. */ - if (replstr) { + if (replstr || (fl & SUB_LIST)) { if (fl & SUB_DOSUBST) { replstr = dupstring(replstr); singsub(&replstr); @@ -2618,7 +2618,8 @@ get_match_ret(Imatchdata imd, int b, int e) addlinknode(imd->repllist, rd); return imd->mstr; } - ll += strlen(replstr); + if (replstr) + ll += strlen(replstr); } if (fl & SUB_MATCH) /* matched portion */ ll += 1 + (e - b); @@ -2644,6 +2645,9 @@ get_match_ret(Imatchdata imd, int b, int e) if (bl) buf[bl - 1] = '\0'; + if (ll == 0) + return NULL; + rr = r = (char *) hcalloc(ll); if (fl & SUB_MATCH) { -- 2.15.1