From: Paul Eggert Date: Tue, 2 Sep 2014 06:29:01 +0000 (-0700) Subject: * eval.c (internal_lisp_condition_case): Don't overrun the stack X-Git-Tag: emacs-24.3.94~64 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7a930c3c4c617aff075cf00f9e3482f1f04cb24b;p=emacs.git * eval.c (internal_lisp_condition_case): Don't overrun the stack when configured --with-wide-int on typical 32-bit platforms. --- diff --git a/src/ChangeLog b/src/ChangeLog index 661731a9c5d..5e3ec8aa597 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2014-09-02 Paul Eggert + + * eval.c (internal_lisp_condition_case): Don't overrun the stack + when configured --with-wide-int on typical 32-bit platforms. + 2014-08-31 Eli Zaretskii * xdisp.c (display_and_set_cursor): Call erase_phys_cursor also diff --git a/src/eval.c b/src/eval.c index a96d413d09f..5e986c7ecc2 100644 --- a/src/eval.c +++ b/src/eval.c @@ -1280,7 +1280,7 @@ internal_lisp_condition_case (volatile Lisp_Object var, Lisp_Object bodyform, { /* The first clause is the one that should be checked first, so it should be added to handlerlist last. So we build in `clauses' a table that contains `handlers' but in reverse order. */ - Lisp_Object *clauses = alloca (clausenb * sizeof (Lisp_Object *)); + Lisp_Object *clauses = alloca (clausenb * sizeof *clauses); Lisp_Object *volatile clauses_volatile = clauses; int i = clausenb; for (val = handlers; CONSP (val); val = XCDR (val))