diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -2935,8 +2935,10 @@ return NULL; } buflen = unicode_aswidechar(unicode, buffer, buflen); - if (buflen == -1) - return NULL; + if (buflen == -1) { + PyMem_FREE(buffer); + return NULL; + } if (size != NULL) *size = buflen; return buffer;