Issue #11461: Fix the incremental UTF-16 decoder. Original patch by

Amaury Forgeot d'Arc. Added tests for partial decoding of non-BMP
characters.
This commit is contained in:
Serhiy Storchaka 2013-01-08 23:14:24 +02:00
parent dec798eb46
commit 48e188e573
3 changed files with 47 additions and 9 deletions

View file

@ -3573,8 +3573,11 @@ PyUnicode_DecodeUTF16Stateful(const char *s,
/* UTF-16 code pair: */
if (e - q < 2) {
q -= 2;
if (consumed)
break;
errmsg = "unexpected end of data";
startinpos = (((const char *)q) - 2) - starts;
startinpos = ((const char *)q) - starts;
endinpos = ((const char *)e) - starts;
goto utf16Error;
}