PyUnicode_New() and unicode_putchar() check for MAX_UNICODE maximum (U+10FFFF)
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index a42aad9..afe7a9f 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -998,6 +998,7 @@
is_sharing = 1;
}
else {
+ assert(maxchar <= MAX_UNICODE);
kind_state = PyUnicode_4BYTE_KIND;
char_size = 4;
if (sizeof(wchar_t) == 4)
@@ -1627,6 +1628,7 @@
unicode_putchar(PyObject **p_unicode, Py_ssize_t *pos,
Py_UCS4 ch)
{
+ assert(ch <= MAX_UNICODE);
if (unicode_widen(p_unicode, ch) < 0)
return -1;
PyUnicode_WRITE(PyUnicode_KIND(*p_unicode),