diff -r b78574cb00ab Objects/unicodeobject.c --- a/Objects/unicodeobject.c Tue Nov 08 22:53:59 2016 -0500 +++ b/Objects/unicodeobject.c Wed Nov 09 23:36:26 2016 +0800 @@ -5101,7 +5101,7 @@ #if SIZEOF_WCHAR_T == 4 assert(0); #else - assert(Py_UNICODE_IS_SURROGATE(ch)); + assert(ch > 0xFFFF && ch <= MAX_UNICODE); /* compute and append the two surrogates: */ unicode[outpos++] = (wchar_t)Py_UNICODE_HIGH_SURROGATE(ch); unicode[outpos++] = (wchar_t)Py_UNICODE_LOW_SURROGATE(ch);