diff -r 5115f39cc59f Modules/unicodedata.c --- a/Modules/unicodedata.c Sat Dec 19 22:51:00 2015 +0200 +++ b/Modules/unicodedata.c Sun Dec 20 01:10:53 2015 +0200 @@ -1232,8 +1232,11 @@ unicodedata_UCD_lookup_impl(PyObject *se { Py_UCS4 code; unsigned int index; - if (name_length > INT_MAX) { - PyErr_SetString(PyExc_KeyError, "name too long"); + if (name_length >= NAME_MAXLEN) { + const char fmt[] = "undefined character name '%%.%ds...'"; + char buffer[sizeof(fmt) + 20]; + sprintf(buffer, fmt, (int)NAME_MAXLEN); + PyErr_Format(PyExc_KeyError, buffer, name); return NULL; }