Issue #18426: Fix NULL pointer dereference in C extension import when

PyModule_GetDef() returns an error.
This commit is contained in:
Christian Heimes 2013-07-11 11:22:21 +02:00
parent 87ead1138d
commit 848ee099f5
2 changed files with 5 additions and 0 deletions

View File

@ -12,6 +12,9 @@ What's New in Python 3.3.3 release candidate 1?
Core and Builtins Core and Builtins
----------------- -----------------
- Issue #18426: Fix NULL pointer dereference in C extension import when
PyModule_GetDef() returns an error.
- Issue #18328: Reorder ops in PyThreadState_Delete*() functions. Now the - Issue #18328: Reorder ops in PyThreadState_Delete*() functions. Now the
tstate is first removed from TLS and then deallocated. tstate is first removed from TLS and then deallocated.

View File

@ -97,6 +97,8 @@ _PyImport_LoadDynamicModule(PyObject *name, PyObject *path, FILE *fp)
/* Remember pointer to module init function. */ /* Remember pointer to module init function. */
def = PyModule_GetDef(m); def = PyModule_GetDef(m);
if (def == NULL)
goto error;
def->m_base.m_init = p; def->m_base.m_init = p;
/* Remember the filename as the __file__ attribute */ /* Remember the filename as the __file__ attribute */