From 003a5e702bcc0eecedb9cac0fae25b183f9525da Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Wed, 28 Apr 2010 17:06:46 +0000 Subject: Use PyErr_Format() in decoding_fgets() Avoid a buffer of 500 bytes allocated on the stack. --- Parser/tokenizer.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c index 77fec74..aef081d 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 -- cgit v0.12