mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-19 10:22:27 +00:00
Harden exec_byte_code against redefining 'error'
Problem discovered by configuring with --enable-gcc-warnings on Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3). * src/bytecode.c (exec_byte_code): Call the C error function instead of the Lisp one, so that the Emacs interpreter does not go haywire if the user redefines the Lisp error function.
This commit is contained in:
parent
700f74e4c8
commit
ac64fdb248
@ -1346,10 +1346,8 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
|
||||
/* Actually this is Bstack_ref with offset 0, but we use Bdup
|
||||
for that instead. */
|
||||
/* CASE (Bstack_ref): */
|
||||
call3 (Qerror,
|
||||
build_string ("Invalid byte opcode: op=%s, ptr=%d"),
|
||||
make_number (op),
|
||||
make_number (pc - 1 - bytestr_data));
|
||||
error ("Invalid byte opcode: op=%d, ptr=%"pD"d",
|
||||
op, pc - 1 - bytestr_data);
|
||||
|
||||
/* Handy byte-codes for lexical binding. */
|
||||
CASE (Bstack_ref1):
|
||||
|
Loading…
Reference in New Issue
Block a user