From: Philipp Stephani Date: Wed, 12 Oct 2016 20:48:32 +0000 (+0200) Subject: Fix crash in evaluating functions X-Git-Tag: emacs-25.1.90~125 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ceb46f002145e986c944b2423404535019b7e62b;p=emacs.git Fix crash in evaluating functions See Bug#24673 * src/eval.c (funcall_lambda): Fix crash for bogus functions such as (closure). --- diff --git a/src/eval.c b/src/eval.c index 13a41a2ae20..b94712d4579 100644 --- a/src/eval.c +++ b/src/eval.c @@ -2825,9 +2825,11 @@ funcall_lambda (Lisp_Object fun, ptrdiff_t nargs, { if (EQ (XCAR (fun), Qclosure)) { - fun = XCDR (fun); /* Drop `closure'. */ + Lisp_Object cdr = XCDR (fun); /* Drop `closure'. */ + if (! CONSP (cdr)) + xsignal1 (Qinvalid_function, fun); + fun = cdr; lexenv = XCAR (fun); - CHECK_LIST_CONS (fun, fun); } else lexenv = Qnil;