summaryrefslogtreecommitdiff
path: root/src/keymap.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2005-01-21 00:31:40 +0000
committerRichard M. Stallman <rms@gnu.org>2005-01-21 00:31:40 +0000
commitce0fadf419b8daedbdecd3ca71041404810029df (patch)
tree8a96970ea24d7cc90e962d5ee6d68b9ce5e00581 /src/keymap.c
parentb5e6ea1d3f47b2849f1bd3031f631bfdc93e5a2f (diff)
downloademacs-ce0fadf419b8daedbdecd3ca71041404810029df.tar.gz
(access_keymap): Protect from bad value of meta_prefix_char.
Diffstat (limited to 'src/keymap.c')
-rw-r--r--src/keymap.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/keymap.c b/src/keymap.c
index f5675d563ee..ff7836ce23b 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -528,6 +528,10 @@ access_keymap (map, idx, t_ok, noinherit, autoload)
struct gcpro gcpro1;
Lisp_Object meta_map;
GCPRO1 (map);
+ /* A strange value in which Meta is set would cause
+ infinite recursion. Protect against that. */
+ if (meta_prefix_char & CHAR_META)
+ meta_prefix_char = make_number (27);
meta_map = get_keymap (access_keymap (map, meta_prefix_char,
t_ok, noinherit, autoload),
0, autoload);