aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2018-08-28 10:20:46 +0300
committerEli Zaretskii2018-08-28 10:20:46 +0300
commit63e59c8ca51ced6c4d5951281cb21288da32ced3 (patch)
treeebdfba374eb597417eb5f8ff11db822d278fb0cc /src
parent785682c26df4ced5c62075c88477b7bc50afb332 (diff)
downloademacs-63e59c8ca51ced6c4d5951281cb21288da32ced3.tar.gz
emacs-63e59c8ca51ced6c4d5951281cb21288da32ced3.zip
Avoid crashes in malformed defvar
* src/eval.c (Fdefvar): Don't call XSYMBOL on something that might not be a symbol. This avoids crashes due to malformed 'defvar' forms. (Bug#32552)
Diffstat (limited to 'src')
-rw-r--r--src/eval.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c
index 40cba3bb1ce..f9563a3f80c 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -773,7 +773,7 @@ usage: (defvar SYMBOL &optional INITVALUE DOCSTRING) */)
773 LOADHIST_ATTACH (sym); 773 LOADHIST_ATTACH (sym);
774 } 774 }
775 else if (!NILP (Vinternal_interpreter_environment) 775 else if (!NILP (Vinternal_interpreter_environment)
776 && !XSYMBOL (sym)->u.s.declared_special) 776 && (SYMBOLP (sym) && !XSYMBOL (sym)->u.s.declared_special))
777 /* A simple (defvar foo) with lexical scoping does "nothing" except 777 /* A simple (defvar foo) with lexical scoping does "nothing" except
778 declare that var to be dynamically scoped *locally* (i.e. within 778 declare that var to be dynamically scoped *locally* (i.e. within
779 the current file or let-block). */ 779 the current file or let-block). */