Index: Parser/tokenizer.c =================================================================== --- Parser/tokenizer.c (revision 58192) +++ Parser/tokenizer.c (working copy) @@ -395,6 +395,7 @@ goto error; buflen = size; } + memcpy(s, buf, buflen); s[buflen] = '\0'; if (buflen == 0) /* EOF */ @@ -402,6 +403,12 @@ if (allocated) { Py_DECREF(bufobj); } + + if ( bufobj == tok->decoding_buffer ){ + Py_XDECREF(tok->decoding_buffer); + tok->decoding_buffer = 0; + } + return s; error: