diff --git a/icu4c/source/common/ucnvmbcs.cpp b/icu4c/source/common/ucnvmbcs.cpp index dda7435ed816..e8358a87057b 100644 --- a/icu4c/source/common/ucnvmbcs.cpp +++ b/icu4c/source/common/ucnvmbcs.cpp @@ -3145,7 +3145,7 @@ ucnv_MBCSGetNextUChar(UConverterToUnicodeArgs *pArgs, if(c<0) { if(U_SUCCESS(*pErrorCode) && source==sourceLimit && lastSourcetoUBytes)) { + (size_t)(source-lastSource) <= sizeof(cnv->toUBytes)) { /* incomplete character byte sequence */ uint8_t *bytes=cnv->toUBytes; cnv->toULength = static_cast(source - lastSource);