From unknown Sat Aug 16 18:15:07 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#41232 <41232@debbugs.gnu.org> To: bug#41232 <41232@debbugs.gnu.org> Subject: Status: [PATCH] Avoid a segfault when processing disable-eval specs Reply-To: bug#41232 <41232@debbugs.gnu.org> Date: Sun, 17 Aug 2025 01:15:07 +0000 retitle 41232 [PATCH] Avoid a segfault when processing disable-eval specs reassign 41232 emacs submitter 41232 Cl=C3=A9ment Pit-Claudel severity 41232 normal tag 41232 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Wed May 13 10:40:25 2020 Received: (at submit) by debbugs.gnu.org; 13 May 2020 14:40:25 +0000 Received: from localhost ([127.0.0.1]:59041 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYsYb-0004cz-87 for submit@debbugs.gnu.org; Wed, 13 May 2020 10:40:25 -0400 Received: from lists.gnu.org ([209.51.188.17]:53642) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYsYZ-0004cr-0h for submit@debbugs.gnu.org; Wed, 13 May 2020 10:40:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57130) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jYsYY-0001m5-Pl for bug-gnu-emacs@gnu.org; Wed, 13 May 2020 10:40:22 -0400 Received: from mail-qk1-x731.google.com ([2607:f8b0:4864:20::731]:38992) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jYsYX-0004G8-RO for bug-gnu-emacs@gnu.org; Wed, 13 May 2020 10:40:22 -0400 Received: by mail-qk1-x731.google.com with SMTP id a136so8579374qkg.6 for ; Wed, 13 May 2020 07:40:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:autocrypt:subject:message-id:date:user-agent:mime-version :content-language; bh=dIz1wDJ5ATEeknoNqWjmPfuoCQbwR5fiOITIfEi53Gg=; b=eS/8WgeIGe+NqKkXDnW5EJdohc9jsIyHBscmhlmmcq3k2ClwdPyl1hJK5OgTpfcoxl vyatimkW3zAVJWQzpRsYtmEPx1SPpJJ1xwhPH3nWUZQmElCc0uD135yDhQkdZKoKwwCH 2axEwO+I0//1pOgzjaa1+PaxijD7pLBL9ImPBxDRbLX9rTrLH9NbCiiAxnS+PeZe4B4W IoDAqgJB0pPeI1/V9d9NLS+3RYDv1+YNOiStzvL4DwQv1Q9hcaCsL6LaS/Lfwk1OKjWb ibQSxD3SFdy9I5KsW9f0aPlgO96Gr8eYxfwUVzteLVPja1DTq7TedHSZ62AbK2yllP76 UihQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:autocrypt:subject:message-id:date :user-agent:mime-version:content-language; bh=dIz1wDJ5ATEeknoNqWjmPfuoCQbwR5fiOITIfEi53Gg=; b=TdWchXJqcKjQxfM6/TrarLrIPCTf8dTDp26WqT67LgpmomTW9iriHNBYS1ce5T+v5Q WmDb8xezOGk8y6b2aAc6sOPlJiJCOig3tXPUxTGInqmwTbuLPuvLExF/CAXg1DNPAOQM qcsCquORb5xdtpxI0k1ghiyqIxeRXkGq2zewkfZjLyLc7BhJVUkJJg7yU/NdVoTqN56O fMYxjUeeR+iMRP8Pa4IcA2bz2wrWapjH0ge1FjYPJmI5x6xUJI5o/L7/Bu+vcmZ9NfEq 6rv4V8CyhZlfMKyL6/Hysxhtjjpsa0fqyK9g5lJujhFtjaukNTRBXrVL3IoPbe2/XICN sVXg== X-Gm-Message-State: AOAM533l7+yL/t89F7ZfZCO4gOqGUwjCQZ4tiUMRPb+4wTuMFCgsOX5p 2xcqUSgG80gkSt1UeJgaoW3IYYvocSM= X-Google-Smtp-Source: ABdhPJxzf9NMj/a2Zu36MrNF3vGRxAUaxeSEENJu8dxNdIUOPPic2hnsjb9qQirbTnkxZ1YpgOcAOw== X-Received: by 2002:a37:7403:: with SMTP id p3mr1274300qkc.339.1589380820614; Wed, 13 May 2020 07:40:20 -0700 (PDT) Received: from ?IPv6:2601:184:4180:66e7:4d17:b25e:8d9:2188? ([2601:184:4180:66e7:4d17:b25e:8d9:2188]) by smtp.googlemail.com with ESMTPSA id h33sm15871873qtc.21.2020.05.13.07.40.19 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 13 May 2020 07:40:19 -0700 (PDT) To: bug-gnu-emacs From: =?UTF-8?Q?Cl=c3=a9ment_Pit-Claudel?= Autocrypt: addr=clement.pitclaudel@live.com; prefer-encrypt=mutual; keydata= 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 hze1s8uad9n9PQF+gigV Subject: [PATCH] Avoid a segfault when processing disable-eval specs Message-ID: Date: Wed, 13 May 2020 10:40:18 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------B80AE32BCCC8121CAA9676B6" Content-Language: en-GB Received-SPF: pass client-ip=2607:f8b0:4864:20::731; envelope-from=cpitclaudel@gmail.com; helo=mail-qk1-x731.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------B80AE32BCCC8121CAA9676B6 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit The following code causes Emacs to segfault: (insert (propertize "A" 'display '(disable-eval . nil))) This is due to this code, which takes an XCAR without checking whether the spec is a cons: /* Support (disable-eval PROP) which is used by enriched.el. */ if (CONSP (spec) && EQ (XCAR (spec), Qdisable_eval)) { enable_eval = false; spec = XCAR (XCDR (spec)); } The attached patch fixes this. --------------B80AE32BCCC8121CAA9676B6 Content-Type: text/x-patch; charset=UTF-8; name="0001-Fix-a-crash-in-handle_display_spec.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="0001-Fix-a-crash-in-handle_display_spec.patch" =46rom b0954112bbe2dc124041a6439a4cc371fd9809fd Mon Sep 17 00:00:00 2001 From: =3D?UTF-8?q?Cl=3DC3=3DA9ment=3D20Pit-Claudel?=3D Date: Wed, 13 May 2020 10:37:05 -0400 Subject: [PATCH] Fix a crash in handle_display_spec * src/xdisp.c (handle_display_spec): Check that the cdr of the disable-eval spec is a cons before taking its car. --- src/xdisp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/xdisp.c b/src/xdisp.c index d65bb38869..cf15f579b5 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -5120,7 +5120,7 @@ handle_display_spec (struct it *it, Lisp_Object spe= c, Lisp_Object object, if (CONSP (spec) && EQ (XCAR (spec), Qdisable_eval)) { enable_eval =3D false; - spec =3D XCAR (XCDR (spec)); + spec =3D CONSP (XCDR (spec)) ? XCAR (XCDR (spec)) : Qnil; } =20 if (CONSP (spec) --=20 2.17.1 --------------B80AE32BCCC8121CAA9676B6-- From debbugs-submit-bounces@debbugs.gnu.org Wed May 13 11:55:00 2020 Received: (at 41232-done) by debbugs.gnu.org; 13 May 2020 15:55:00 +0000 Received: from localhost ([127.0.0.1]:59137 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYtim-0006Xc-4O for submit@debbugs.gnu.org; Wed, 13 May 2020 11:55:00 -0400 Received: from eggs.gnu.org ([209.51.188.92]:39186) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYtik-0006XQ-Tg for 41232-done@debbugs.gnu.org; Wed, 13 May 2020 11:54:59 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:40026) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jYtif-0007Yv-HB; Wed, 13 May 2020 11:54:53 -0400 Received: from [176.228.60.248] (port=3769 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jYtif-0000By-2X; Wed, 13 May 2020 11:54:53 -0400 Date: Wed, 13 May 2020 18:54:35 +0300 Message-Id: <834ksj7rus.fsf@gnu.org> From: Eli Zaretskii To: =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel In-Reply-To: (message from =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel on Wed, 13 May 2020 10:40:18 -0400) Subject: Re: bug#41232: [PATCH] Avoid a segfault when processing disable-eval specs References: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 41232-done Cc: 41232-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Clément Pit-Claudel > Date: Wed, 13 May 2020 10:40:18 -0400 > > The following code causes Emacs to segfault: > > (insert (propertize "A" 'display '(disable-eval . nil))) > > This is due to this code, which takes an XCAR without checking whether the spec is a cons: > > /* Support (disable-eval PROP) which is used by enriched.el. */ > if (CONSP (spec) && EQ (XCAR (spec), Qdisable_eval)) > { > enable_eval = false; > spec = XCAR (XCDR (spec)); > } > > The attached patch fixes this. Thanks, installed. From unknown Sat Aug 16 18:15:07 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 11 Jun 2020 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator