diff options
| author | Kenichi Handa | 2003-07-09 02:16:17 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2003-07-09 02:16:17 +0000 |
| commit | 7487494c9daa00738fc9dea2c8969e4ab6745a53 (patch) | |
| tree | d66d2cf9ff8c7a661052db1bc2460f06adec1046 /src/coding.c | |
| parent | 2c3f5fc9097c552e902dcff07b7ac42ae2fa1b74 (diff) | |
| download | emacs-7487494c9daa00738fc9dea2c8969e4ab6745a53.tar.gz emacs-7487494c9daa00738fc9dea2c8969e4ab6745a53.zip | |
(decode_coding_sjis): Check bytes more rigidly.
Diffstat (limited to 'src/coding.c')
| -rw-r--r-- | src/coding.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/coding.c b/src/coding.c index 908a78f2c8a..e5f1ae82cd5 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -3987,12 +3987,14 @@ decode_coding_sjis (coding) | |||
| 3987 | SJIS_TO_JIS (c); | 3987 | SJIS_TO_JIS (c); |
| 3988 | charset = charset_kanji; | 3988 | charset = charset_kanji; |
| 3989 | } | 3989 | } |
| 3990 | else | 3990 | else if (c > 0xA0) |
| 3991 | { | 3991 | { |
| 3992 | /* SJIS -> JISX0201-Kana */ | 3992 | /* SJIS -> JISX0201-Kana */ |
| 3993 | c &= 0x7F; | 3993 | c &= 0x7F; |
| 3994 | charset = charset_kana; | 3994 | charset = charset_kana; |
| 3995 | } | 3995 | } |
| 3996 | else | ||
| 3997 | goto invalid_code; | ||
| 3996 | } | 3998 | } |
| 3997 | if (charset->id != charset_ascii | 3999 | if (charset->id != charset_ascii |
| 3998 | && last_id != charset->id) | 4000 | && last_id != charset->id) |