From: Victor Stinner Date: Wed, 28 Apr 2010 17:06:46 +0000 (+0000) Subject: Use PyErr_Format() in decoding_fgets() X-Git-Tag: v3.2a1~981 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=003a5e702bcc0eecedb9cac0fae25b183f9525da;p=python Use PyErr_Format() in decoding_fgets() Avoid a buffer of 500 bytes allocated on the stack. --- diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index 77fec74008..aef081de34 100644 --- a/Parser/tokenizer.c +++ b/Parser/tokenizer.c @@ -580,16 +580,14 @@ decoding_fgets(char *s, int size, struct tok_state *tok) } } if (badchar) { - char buf[500]; /* Need to add 1 to the line number, since this line has not been counted, yet. */ - sprintf(buf, + PyErr_Format(PyExc_SyntaxError, "Non-UTF-8 code starting with '\\x%.2x' " "in file %.200s on line %i, " "but no encoding declared; " "see http://python.org/dev/peps/pep-0263/ for details", badchar, tok->filename, tok->lineno + 1); - PyErr_SetString(PyExc_SyntaxError, buf); return error_ret(tok); } #endif