diff options
| author | Richard M. Stallman | 2005-01-21 00:31:40 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2005-01-21 00:31:40 +0000 |
| commit | 7f3e88596faedd51438f86487504ed6093a9a483 (patch) | |
| tree | 4ee006c4b8d4a4686936b11cb5cfac3b4d7d5bc3 /src | |
| parent | 0e73312bedf881fd3c7b6aa9306eacd1a3b966d3 (diff) | |
| download | emacs-7f3e88596faedd51438f86487504ed6093a9a483.tar.gz emacs-7f3e88596faedd51438f86487504ed6093a9a483.zip | |
(access_keymap): Protect from bad value of meta_prefix_char.
Diffstat (limited to 'src')
| -rw-r--r-- | src/keymap.c | 4 |
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) | |||
| 528 | struct gcpro gcpro1; | 528 | struct gcpro gcpro1; |
| 529 | Lisp_Object meta_map; | 529 | Lisp_Object meta_map; |
| 530 | GCPRO1 (map); | 530 | GCPRO1 (map); |
| 531 | /* A strange value in which Meta is set would cause | ||
| 532 | infinite recursion. Protect against that. */ | ||
| 533 | if (meta_prefix_char & CHAR_META) | ||
| 534 | meta_prefix_char = make_number (27); | ||
| 531 | meta_map = get_keymap (access_keymap (map, meta_prefix_char, | 535 | meta_map = get_keymap (access_keymap (map, meta_prefix_char, |
| 532 | t_ok, noinherit, autoload), | 536 | t_ok, noinherit, autoload), |
| 533 | 0, autoload); | 537 | 0, autoload); |