From 12455b2fcb9dfecf0ada48e7be78564b0292519c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 19 Nov 2013 00:57:22 -0800 Subject: [PATCH] * charset.c (syms_of_charset): Don't read past end of string. --- src/ChangeLog | 4 ++++ src/charset.c | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 80952b7647..7b225d7f18 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2013-11-19 Paul Eggert + + * charset.c (syms_of_charset): Don't read past end of string. + 2013-11-19 Glenn Morris * frame.c (Fhandle_focus_in, Fhandle_focus_out): Doc fixes. diff --git a/src/charset.c b/src/charset.c index 4a36f8059a..2ef060228e 100644 --- a/src/charset.c +++ b/src/charset.c @@ -2428,19 +2428,19 @@ the value may be a list of mnemonics. */); Vcurrent_iso639_language = Qnil; charset_ascii - = define_charset_internal (Qascii, 1, "\x00\x7F\x00\x00\x00\x00", + = define_charset_internal (Qascii, 1, "\x00\x7F\0\0\0\0\0", 0, 127, 'B', -1, 0, 1, 0, 0); charset_iso_8859_1 - = define_charset_internal (Qiso_8859_1, 1, "\x00\xFF\x00\x00\x00\x00", + = define_charset_internal (Qiso_8859_1, 1, "\x00\xFF\0\0\0\0\0", 0, 255, -1, -1, -1, 1, 0, 0); charset_unicode - = define_charset_internal (Qunicode, 3, "\x00\xFF\x00\xFF\x00\x10", + = define_charset_internal (Qunicode, 3, "\x00\xFF\x00\xFF\x00\x10\0", 0, MAX_UNICODE_CHAR, -1, 0, -1, 1, 0, 0); charset_emacs - = define_charset_internal (Qemacs, 3, "\x00\xFF\x00\xFF\x00\x3F", + = define_charset_internal (Qemacs, 3, "\x00\xFF\x00\xFF\x00\x3F\0", 0, MAX_5_BYTE_CHAR, -1, 0, -1, 1, 1, 0); charset_eight_bit - = define_charset_internal (Qeight_bit, 1, "\x80\xFF\x00\x00\x00\x00", + = define_charset_internal (Qeight_bit, 1, "\x80\xFF\0\0\0\0\0", 128, 255, -1, 0, -1, 0, 1, MAX_5_BYTE_CHAR + 1); charset_unibyte = charset_iso_8859_1; -- 2.20.1