diff options
author | Andreas Schwab <schwab@redhat.com> | 2011-06-28 03:15:30 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-06-28 03:15:30 -0400 |
commit | a4172181585cec75422786d905c6e03ddfa7cd20 (patch) | |
tree | 05e252e58b2cf38503f7ec3e893862ae2324e1d3 | |
parent | 62bede1313c3a1fa477a092006d64436de6821b1 (diff) | |
download | glibc-a4172181585cec75422786d905c6e03ddfa7cd20.tar.gz glibc-a4172181585cec75422786d905c6e03ddfa7cd20.tar.xz glibc-a4172181585cec75422786d905c6e03ddfa7cd20.zip |
Fix crash in GB18030 encoder
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | iconvdata/gb18030.c | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index 76779f3993..d42c5dd6a3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-06-27 Andreas Schwab <schwab@redhat.com> + + * iconvdata/gb18030.c (BODY for TO_LOOP): Fix encoding of non-BMP + two-byte characters. + 2011-06-27 Roland McGrath <roland@hack.frob.com> * configure.in (NO_CTORS_DTORS_SECTIONS): Give this check its own diff --git a/iconvdata/gb18030.c b/iconvdata/gb18030.c index f2b23e66ea..a06b75d03b 100644 --- a/iconvdata/gb18030.c +++ b/iconvdata/gb18030.c @@ -18233,17 +18233,17 @@ static const unsigned char __ucs_to_gb18030_tab2[][2] = len = 0; \ } \ else if (ch == 0x20087) \ - idx = 0xfe51; \ + cp = (const unsigned char *) "\xfe\x51"; \ else if (ch == 0x20089) \ - idx = 0xfe52; \ + cp = (const unsigned char *) "\xfe\x52"; \ else if (ch == 0x200CC) \ - idx = 0xfe53; \ + cp = (const unsigned char *) "\xfe\x53"; \ else if (ch == 0x215d7) \ - idx = 0xfe6c; \ + cp = (const unsigned char *) "\xfe\x6c"; \ else if (ch == 0x2298F) \ - idx = 0xfe76; \ + cp = (const unsigned char *) "\xfe\x76"; \ else if (ch == 0x241FE) \ - idx = 0xfe91; \ + cp = (const unsigned char *) "\xfe\x91"; \ else \ len = 0; \ \ |