Christian Heimes added the comment: In theory you are right. m->md_def could be NULL, too. But in practice it's only going to happen when you have a faulty C extension. The code tries to load a dynamic module (ELF shared library, Windows DLL, ...) with _PyImport_GetDynLoadFunc() a couple of lines before PyModule_GetDef(). Any invalid file is rejected:
>>> imp.load_dynamic("os", "Lib/os.py") Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: Lib/os.py: invalid ELF header But an extra check doesn't hurt. How do you like this? def = PyModule_GetDef(m); if (def == NULL) { if (!PyErr_Occured()) { /* m->md_def == NULL */ PyErr_BadArgument(); } goto error; } ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue18426> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com