mirror of
https://github.com/python/cpython.git
synced 2025-08-30 21:48:47 +00:00
bpo-31566: Fix an assertion failure in _warnings.warn() in case of a bad __name__ global. (#3717)
This commit is contained in:
parent
91fb0afe18
commit
5d3e80021a
3 changed files with 16 additions and 3 deletions
|
@ -684,13 +684,14 @@ setup_context(Py_ssize_t stack_level, PyObject **filename, int *lineno,
|
|||
|
||||
/* Setup module. */
|
||||
*module = PyDict_GetItemString(globals, "__name__");
|
||||
if (*module == NULL) {
|
||||
if (*module == Py_None || (*module != NULL && PyUnicode_Check(*module))) {
|
||||
Py_INCREF(*module);
|
||||
}
|
||||
else {
|
||||
*module = PyUnicode_FromString("<string>");
|
||||
if (*module == NULL)
|
||||
goto handle_error;
|
||||
}
|
||||
else
|
||||
Py_INCREF(*module);
|
||||
|
||||
/* Setup filename. */
|
||||
*filename = PyDict_GetItemString(globals, "__file__");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue