diff options
author | Florian Weimer <fweimer@redhat.com> | 2021-01-27 13:36:12 +0100 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2021-01-27 14:02:47 +0100 |
commit | 7d88c6142c6efc160c0ee5e4f85cde382c072888 (patch) | |
tree | d2f22ab9b4993c1b40dacc1a2d183e9916d9dbd8 /iconvdata/ebcdic-pt.c | |
parent | df359a25ba6f6bda06104229fbfe284c1fb30915 (diff) | |
download | glibc-7d88c6142c6efc160c0ee5e4f85cde382c072888.tar.gz glibc-7d88c6142c6efc160c0ee5e4f85cde382c072888.tar.xz glibc-7d88c6142c6efc160c0ee5e4f85cde382c072888.zip |
gconv: Fix assertion failure in ISO-2022-JP-3 module (bug 27256)
The conversion loop to the internal encoding does not follow the interface contract that __GCONV_FULL_OUTPUT is only returned after the internal wchar_t buffer has been filled completely. This is enforced by the first of the two asserts in iconv/skeleton.c: /* We must run out of output buffer space in this rerun. */ assert (outbuf == outerr); assert (nstatus == __GCONV_FULL_OUTPUT); This commit solves this issue by queuing a second wide character which cannot be written immediately in the state variable, like other converters already do (e.g., BIG5-HKSCS or TSCII). Reported-by: Tavis Ormandy <taviso@gmail.com>
Diffstat (limited to 'iconvdata/ebcdic-pt.c')
0 files changed, 0 insertions, 0 deletions