Issue #6697: use %U format instead of _PyUnicode_AsString(), because

_PyUnicode_AsString() was not checked for error (NULL).

The unicode string is no more truncated to 200 or 400 *bytes*.
This commit is contained in:
Victor Stinner 2010-03-12 17:00:41 +00:00
parent 50981b8242
commit 3f1af5c42e
6 changed files with 19 additions and 20 deletions

View file

@ -3989,10 +3989,10 @@ update_keyword_args(PyObject *orig_kwdict, int nk, PyObject ***pp_stack,
if (PyDict_GetItem(kwdict, key) != NULL) {
PyErr_Format(PyExc_TypeError,
"%.200s%s got multiple values "
"for keyword argument '%.200s'",
"for keyword argument '%U'",
PyEval_GetFuncName(func),
PyEval_GetFuncDesc(func),
_PyUnicode_AsString(key));
key);
Py_DECREF(key);
Py_DECREF(value);
Py_DECREF(kwdict);

View file

@ -2691,8 +2691,8 @@ PyImport_ReloadModule(PyObject *m)
parent = PyDict_GetItem(modules, parentname);
if (parent == NULL) {
PyErr_Format(PyExc_ImportError,
"reload(): parent %.200s not in sys.modules",
_PyUnicode_AsString(parentname));
"reload(): parent %U not in sys.modules",
parentname);
Py_DECREF(parentname);
imp_modules_reloading_clear();
return NULL;