summaryrefslogtreecommitdiff
path: root/src/data.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2021-03-29 13:39:43 +0300
committerEli Zaretskii <eliz@gnu.org>2021-03-29 13:39:43 +0300
commita1e454d6df011f2a02d3b4900dd33d1d3717c6ef (patch)
treecb7f97d02efc25e093ecc8c089eb6557e9381885 /src/data.c
parentafc214f139688b0b89bbb887405e247045fd891f (diff)
downloademacs-a1e454d6df011f2a02d3b4900dd33d1d3717c6ef.tar.gz
emacs-a1e454d6df011f2a02d3b4900dd33d1d3717c6ef.tar.bz2
emacs-a1e454d6df011f2a02d3b4900dd33d1d3717c6ef.zip
Protect add-variable-watcher from incorrect usage
* src/data.c (Fadd_variable_watcher): Avoid crashes if SYMBOL isn't. (Bug#47462)
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/data.c b/src/data.c
index 0fa491b17a1..3667b03c0e4 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1589,6 +1589,7 @@ All writes to aliases of SYMBOL will call WATCH-FUNCTION too. */)
(Lisp_Object symbol, Lisp_Object watch_function)
{
symbol = Findirect_variable (symbol);
+ CHECK_SYMBOL (symbol);
set_symbol_trapped_write (symbol, SYMBOL_TRAPPED_WRITE);
map_obarray (Vobarray, harmonize_variable_watchers, symbol);