emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 44b16f6: Avoid crashes in semi-malformed 'conditi


From: Eli Zaretskii
Subject: [Emacs-diffs] emacs-25 44b16f6: Avoid crashes in semi-malformed 'condition-case'
Date: Mon, 15 Feb 2016 14:05:14 +0000

branch: emacs-25
commit 44b16f60fd80afe574964390d896635971cb5504
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Avoid crashes in semi-malformed 'condition-case'
    
    * src/eval.c (internal_lisp_condition_case): Treat a handler
    '(nil)' as if it were '(nil nil)'.  (Bug#22675)
---
 src/eval.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/eval.c b/src/eval.c
index 6c912bc..26104a5 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1245,7 +1245,7 @@ internal_lisp_condition_case (volatile Lisp_Object var, 
Lisp_Object bodyform,
     for (i = 0; i < clausenb; i++)
       {
        Lisp_Object clause = clauses[i];
-       Lisp_Object condition = XCAR (clause);
+       Lisp_Object condition = CONSP (clause) ? XCAR (clause) : Qnil;
        if (!CONSP (condition))
          condition = Fcons (condition, Qnil);
        struct handler *c = push_handler (condition, CONDITION_CASE);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]