(original) (raw)

changeset: 100216:c711c36cf988 parent: 100212:37f6f965023d parent: 100215:1c2de3b0a474 user: Serhiy Storchaka storchaka@gmail.com date: Wed Feb 10 10:31:43 2016 +0200 files: Python/import.c description: Issue #25698: Prevent possible replacing imported module with the empty one if the stack is too deep. diff -r 37f6f965023d -r c711c36cf988 Python/import.c --- a/Python/import.c Wed Feb 10 05:45:55 2016 +0000 +++ b/Python/import.c Wed Feb 10 10:31:43 2016 +0200 @@ -671,9 +671,13 @@ PyObject *modules = PyImport_GetModuleDict(); PyObject *m; - if ((m = PyDict_GetItem(modules, name)) != NULL && - PyModule_Check(m)) + if ((m = PyDict_GetItemWithError(modules, name)) != NULL && + PyModule_Check(m)) { return m; + } + if (PyErr_Occurred()) { + return NULL; + } m = PyModule_NewObject(name); if (m == NULL) return NULL; /storchaka@gmail.com