mirror of https://github.com/python/cpython.git
Use PyErr_Format() in decoding_fgets()
Avoid a buffer of 500 bytes allocated on the stack.
This commit is contained in:
parent
740f53a600
commit
003a5e702b
|
@ -580,16 +580,14 @@ decoding_fgets(char *s, int size, struct tok_state *tok)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (badchar) {
|
if (badchar) {
|
||||||
char buf[500];
|
|
||||||
/* Need to add 1 to the line number, since this line
|
/* Need to add 1 to the line number, since this line
|
||||||
has not been counted, yet. */
|
has not been counted, yet. */
|
||||||
sprintf(buf,
|
PyErr_Format(PyExc_SyntaxError,
|
||||||
"Non-UTF-8 code starting with '\\x%.2x' "
|
"Non-UTF-8 code starting with '\\x%.2x' "
|
||||||
"in file %.200s on line %i, "
|
"in file %.200s on line %i, "
|
||||||
"but no encoding declared; "
|
"but no encoding declared; "
|
||||||
"see http://python.org/dev/peps/pep-0263/ for details",
|
"see http://python.org/dev/peps/pep-0263/ for details",
|
||||||
badchar, tok->filename, tok->lineno + 1);
|
badchar, tok->filename, tok->lineno + 1);
|
||||||
PyErr_SetString(PyExc_SyntaxError, buf);
|
|
||||||
return error_ret(tok);
|
return error_ret(tok);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue