diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2015-02-08 18:14:14 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2015-02-08 18:14:41 -0800 |
commit | 237171731157095f5cc46b0f6f6205e3b4ba9f00 (patch) | |
tree | 90a29c2ccdf8fb597f5eb72d85d46535b9309589 /src/bidi.c | |
parent | 751adc4b9631cedcf9bec475afe40da4db7d74a1 (diff) | |
download | emacs-237171731157095f5cc46b0f6f6205e3b4ba9f00.tar.gz |
Fix bidi_explicit_dir_char undefined behavior
* bidi.c (bidi_explicit_dir_char): Avoid subscript error when
argument is BIDI_EOB. This can happen in bidi_level_of_next_char.
Diffstat (limited to 'src/bidi.c')
-rw-r--r-- | src/bidi.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/bidi.c b/src/bidi.c index cbc1820c2a5..e5e08c6a252 100644 --- a/src/bidi.c +++ b/src/bidi.c @@ -1799,6 +1799,11 @@ bidi_explicit_dir_char (int ch) if (!bidi_initialized) emacs_abort (); + if (ch < 0) + { + eassert (ch == BIDI_EOB); + return false; + } ch_type = (bidi_type_t) XINT (CHAR_TABLE_REF (bidi_type_table, ch)); return (ch_type == LRE || ch_type == LRO || ch_type == RLE || ch_type == RLO |