From: Mark Hammond Date: Tue, 14 Jan 2003 23:15:22 +0000 (+0000) Subject: Fix [ 665014 ] files with long lines and an encoding crash. X-Git-Tag: v2.3c1~2455 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a2e303c32d415c2921672d87268b80d6aa824e21;p=thirdparty%2FPython%2Fcpython.git Fix [ 665014 ] files with long lines and an encoding crash. Ensure that the 'size' arg is correctly passed to the encoding reader to prevent buffer overflows. --- diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index d7a223ae0f8a..aaed637a2fde 100644 --- a/Parser/tokenizer.c +++ b/Parser/tokenizer.c @@ -346,7 +346,8 @@ fp_readl(char *s, int size, struct tok_state *tok) PyObject* utf8; PyObject* buf = tok->decoding_buffer; if (buf == NULL) { - PyObject *args = PyTuple_New(0); + /* Ask for one less byte so we can terminate it */ + PyObject *args = Py_BuildValue("(i)", size-1); if (args == NULL) return error_ret(tok); buf = PyObject_Call(tok->decoding_readline, args, NULL);