From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: from zero.zsh.org (zero.zsh.org [IPv6:2a02:898:31:0:48:4558:7a:7368]) by inbox.vuxu.org (Postfix) with ESMTP id 647602B9C7 for ; Sun, 4 Feb 2024 16:46:37 +0100 (CET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1707061597; b=HH/VW/JQQLwfGO7dTskwDBM3DDiSFeQpesldYWHpuDLWEEl4CcBkz+WfldCn0jb78lVtJdQrpC fsoVAN9qnU9+ZJyz7SQM7wKyW57I58hMHHkGezq7305Y1GF85taM7XF/MIJyFu9ecnXzW7TRfl 5FIVj/6WHTFcPxAQ+fJ4PK8obVSuZrNpBpbi4eefaDZOYnFJApF3/076eefUSqiKnnoEy+sW5T FaYmb/cBh0bj5C+AGZ5zCuz+jUVJmtsf0HuTpTfAJ/jU/2cywO8VmJAyGk7Se9fZbYANDwS0ln W7lVYPPE3CI/14Ea1cEWGO0gxJpeZqgdSW2vAuYBDp2N3A==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-lf1-f53.google.com) smtp.remote-ip=209.85.167.53; dkim=pass header.d=gmail.com header.s=20230601 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=1707061597; bh=YpxKMLTy2mmuBEoKd6pkme9S9ly21XcBt2dEScVhXMg=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:MIME-Version:Message-ID:Date: Subject:To:From:DKIM-Signature:DKIM-Signature; b=PNQwgBF1j+nk/VSDxW2a9uanFAHyoHhTzndS40oOMZkGU8OSlIFfaMnpGWYbicMC+Fw2rjV6gI 9Q8wmKdKe8W218zeHQ/mtpSfiK6ZloVYiaa8eMweSV5BsShkUFzTVe2d3mDBTeNVUi7kfQp//x HZkccHUSAwg6cjn2918/1SFKaSOC/yRgvkIXnBmaM0SQvVmDNGs8UD3w8WUw246poJ4ixYOSc+ xeDKZef/954ip9Kt1oUrlk7ESSRMDyHT4SpV/B0sGaeuMetBSZP6RmHUsuzdZhnSCE/YB5ZBQF 6kOc8x063iVUPikHOhTZF3uJeoBmVzqZl4NUGXL2jtrUgg==; 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: MIME-Version:Message-Id:Date:Subject:To:From:Reply-To:Cc:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References; bh=h+jB8jF2u7oa8/GusQZfnd8JHhix8gm80WwpzFkb5Vk=; b=ELPOnPXFjIrJjNatI9AR7USEwC ddt9nG/IlE04Bk9dnvgzmBeaHA3nB08AvUxdJP/mZl8qa+nPm73IFhenw+Z5hBJ/k4rf7V/UIFoKh BA7Ft9msTNRajqZCDONf0sdClJpvEhNibnSGd8IOBopw8k1IEIXpqDb2YAro/A9ZXbaI62nyhKz0m IABiyOu1mD6zG02omE6c3AdzoWka3QiKdCuOUBDiC/XL6XhP9s7b1hL1Q+qV11B4Gya9MAGsHmsX2 5WarDlYL5OSjt0shPSr6GHkZSxW6QVeMcFlNOPIm0TbP3Xuid6qtOvq54iSv8So11hVwVX1tZgdeM NdXwiygg==; Received: by zero.zsh.org with local id 1rWehZ-000GDc-LU; Sun, 04 Feb 2024 15:46:37 +0000 Authentication-Results: zsh.org; iprev=pass (mail-lf1-f53.google.com) smtp.remote-ip=209.85.167.53; dkim=pass header.d=gmail.com header.s=20230601 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-lf1-f53.google.com ([209.85.167.53]:61573) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1rWehI-000FvK-1e; Sun, 04 Feb 2024 15:46:20 +0000 Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-51109060d6aso5131833e87.2 for ; Sun, 04 Feb 2024 07:46:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1707061579; x=1707666379; darn=zsh.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=h+jB8jF2u7oa8/GusQZfnd8JHhix8gm80WwpzFkb5Vk=; b=HOvPTtAcHKpaJKBHdYwYBFl6rsRYSXkxrytW/m+rZY2+Lctzx/YtjJrXpWHCrkPraU HcPocL8+KOB59ZdRebelUUUt33bvQjPt7a5Qswi4Wp7tU761Umip9J83eo8fO9FvjsZ+ VPusA9C1J/yB47Tnp3iW6hVeMZPCozaBL11M2uAC4ocTX9OOAy6kAqL0qNSGGrxNt2hX 7kf7CdKu/azoX7oKYFZuQVV0vApDoMrNaciNO3WfN/vR+fBXs2Ff3d7Ot/s+P9+fLlmY AO2WDXEPbzZDGFmedgW0EvswZrux9Pt2jP3uyae1IVvMth5/KeeT14l2DOiLjcu2Gzy1 UgOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707061579; x=1707666379; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=h+jB8jF2u7oa8/GusQZfnd8JHhix8gm80WwpzFkb5Vk=; b=f0cVMTn25QqJeMMeW5KPKvHYPAoS1ZvZ6OF3A12jAjFIGw1snp6iousxY4PawXiNPk CX7qHtMUbzxAPaX/QUkbW0hz23qxgYPea4MPK7r6uakLhRfzR2sfgLoyKDLkm45uRbw4 c29dQWMEUe9qQgza5ImtUBDUUZqInvm8AMzvQZAP6a1x8jNWlLvYWMPgFQbc8QAGdEtZ tT0RSbdtlMdF2LZ8hprSVLIxU3bBmFj76XWQv9T/vNNG57IciEWLYQom7MNwhgVuHK8r sdLpnqM8zXesAPYA4AGWvel9l6Tqdxh5ZEChePEcI4wzB4mSVF0QrO2ieXFKeN1Crz0Y Q6tg== X-Gm-Message-State: AOJu0YzBc8j4DALizqLGYEWZKwcEHZpoS4emx5FVT0tzWq6UoSDXw2iI Kmj0+EMLMFQ90Ya/YdG7/ahsdGtYvpYn6fUFysdCBx5CaxCX6f++L21DLdZC X-Google-Smtp-Source: AGHT+IHjm58a/8/oeWXrDdKpL+kNLc0u+tH+PMFUbfAGx6lMbvdSZeu6XwGlNj5Ydvd9SRI5WvIUKw== X-Received: by 2002:a05:6512:3b8b:b0:511:3e58:3cff with SMTP id g11-20020a0565123b8b00b005113e583cffmr4136538lfv.16.1707061578631; Sun, 04 Feb 2024 07:46:18 -0800 (PST) Received: from localhost.localdomain (h-94-254-94-11.A230.priv.bahnhof.se. [94.254.94.11]) by smtp.gmail.com with ESMTPSA id d26-20020ac24c9a000000b0051117c0ea2csm959094lfl.107.2024.02.04.07.46.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 04 Feb 2024 07:46:18 -0800 (PST) From: Mikael Magnusson To: zsh-workers@zsh.org Subject: PATCH: ensure that %H is followed by { Date: Sun, 4 Feb 2024 16:46:17 +0100 Message-Id: <20240204154617.6812-1-mikachu@gmail.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Seq: 52517 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: The previous code would accept any character after %H assuming it was a {, which was probably also a buffer overrun sometimes. --- Src/prompt.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Src/prompt.c b/Src/prompt.c index b1e5041bd2..0d674ceab5 100644 --- a/Src/prompt.c +++ b/Src/prompt.c @@ -605,10 +605,12 @@ putpromptchar(int doprint, int endchar) applytextattributes(TSC_PROMPT); break; case 'H': - bv->fm = parsehighlight(bv->fm + 2, '}', &atr); - if (atr != TXT_ERROR) { - treplaceattrs(atr); - applytextattributes(TSC_PROMPT); + if (bv->fm[1] == '{') { + bv->fm = parsehighlight(bv->fm + 2, '}', &atr); + if (atr != TXT_ERROR) { + treplaceattrs(atr); + applytextattributes(TSC_PROMPT); + } } break; case '[': -- 2.38.1