fix iconv buffer overflow converting to legacy JIS-based encodings

maintainer's notes:

commit a223dbd27a added the reverse
conversions to JIS-based encodings, but omitted the check for remining
buffer space in the case where the next character to be written was
single-byte, allowing conversion to continue past the end of the
destination buffer.
This commit is contained in:
Will Dietz 2018-05-01 14:16:44 -05:00 committed by Rich Felker
parent 40bae2d32f
commit 55a661ff5e

View File

@ -539,6 +539,7 @@ size_t iconv(iconv_t cd, char **restrict in, size_t *restrict inb, char **restri
if (*outb < 1) goto toobig;
if (c<256 && c==legacy_map(tomap, c)) {
revout:
if (*outb < 1) goto toobig;
*(*out)++ = c;
*outb -= 1;
break;