--- a/sys/libiconv/iconv_ucs.c +++ b/sys/libiconv/iconv_ucs.c @@ -243,6 +243,11 @@ } else { /* src code is a proper subset of ENCODING_UNICODE */ + if (ir < 2) { + /* truncated 2-byte sequence */ + ret = -1; + break; + } q = ucs; if (dp->convtype & KICONV_UCS_FROM_LE) { *q = *(p + 1);