From: Eli Zaretskii Date: Mon, 8 Jun 2015 14:39:35 +0000 (+0300) Subject: Avoid crashes when key-binding is called from a timer X-Git-Tag: emacs-25.0.90~1825 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=296dadb14e19926de1fc5e0015cb8d4f10f9547a;p=emacs.git Avoid crashes when key-binding is called from a timer * src/keymap.c (Fkey_binding): Don't segfault if called with an empty vector as KEY. (Bug#20705) --- diff --git a/src/keymap.c b/src/keymap.c index 8f4ac0dd437..b69b409fc2d 100644 --- a/src/keymap.c +++ b/src/keymap.c @@ -1652,10 +1652,14 @@ specified buffer position instead of point are used. if (NILP (position) && VECTORP (key)) { - Lisp_Object event - /* mouse events may have a symbolic prefix indicating the - scrollbar or mode line */ - = AREF (key, SYMBOLP (AREF (key, 0)) && ASIZE (key) > 1 ? 1 : 0); + Lisp_Object event; + + if (ASIZE (key) == 0) + return Qnil; + + /* mouse events may have a symbolic prefix indicating the + scrollbar or mode line */ + event = AREF (key, SYMBOLP (AREF (key, 0)) && ASIZE (key) > 1 ? 1 : 0); /* We are not interested in locations without event data */