From unknown Mon Aug 18 19:32:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#41232: [PATCH] Avoid a segfault when processing disable-eval specs Resent-From: =?UTF-8?Q?Cl=C3=A9ment?= Pit-Claudel Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 13 May 2020 14:41:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 41232 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 41232@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs Received: via spool by submit@debbugs.gnu.org id=B.158938082517797 (code B ref -1); Wed, 13 May 2020 14:41:01 +0000 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) 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 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-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 unknown Mon Aug 18 19:32:51 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: =?UTF-8?Q?Cl=C3=A9ment?= Pit-Claudel Subject: bug#41232: closed (Re: bug#41232: [PATCH] Avoid a segfault when processing disable-eval specs) Message-ID: References: <834ksj7rus.fsf@gnu.org> X-Gnu-PR-Message: they-closed 41232 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 41232@debbugs.gnu.org Date: Wed, 13 May 2020 15:55:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1589385302-25165-1" This is a multi-part message in MIME format... ------------=_1589385302-25165-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #41232: [PATCH] Avoid a segfault when processing disable-eval specs which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 41232@debbugs.gnu.org. --=20 41232: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D41232 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1589385302-25165-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit 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. ------------=_1589385302-25165-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit 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-- ------------=_1589385302-25165-1--