mirror of https://github.com/python/cpython
Issue #25698: Prevent possible replacing imported module with the empty one
if the stack is too deep.
This commit is contained in:
commit
5b613dd810
|
@ -671,9 +671,13 @@ PyImport_AddModuleObject(PyObject *name)
|
||||||
PyObject *modules = PyImport_GetModuleDict();
|
PyObject *modules = PyImport_GetModuleDict();
|
||||||
PyObject *m;
|
PyObject *m;
|
||||||
|
|
||||||
if ((m = PyDict_GetItem(modules, name)) != NULL &&
|
if ((m = PyDict_GetItemWithError(modules, name)) != NULL &&
|
||||||
PyModule_Check(m))
|
PyModule_Check(m)) {
|
||||||
return m;
|
return m;
|
||||||
|
}
|
||||||
|
if (PyErr_Occurred()) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
m = PyModule_NewObject(name);
|
m = PyModule_NewObject(name);
|
||||||
if (m == NULL)
|
if (m == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue