From 848ee099f5b36650fa7c23ec91110f319e40fd13 Mon Sep 17 00:00:00 2001 From: Christian Heimes Date: Thu, 11 Jul 2013 11:22:21 +0200 Subject: [PATCH] Issue #18426: Fix NULL pointer dereference in C extension import when PyModule_GetDef() returns an error. --- Misc/NEWS | 3 +++ Python/importdl.c | 2 ++ 2 files changed, 5 insertions(+) diff --git a/Misc/NEWS b/Misc/NEWS index 63d49693d7d..4d55853af7f 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -12,6 +12,9 @@ What's New in Python 3.3.3 release candidate 1? 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 tstate is first removed from TLS and then deallocated. diff --git a/Python/importdl.c b/Python/importdl.c index 942e4b8d28f..e393de153ba 100644 --- a/Python/importdl.c +++ b/Python/importdl.c @@ -97,6 +97,8 @@ _PyImport_LoadDynamicModule(PyObject *name, PyObject *path, FILE *fp) /* Remember pointer to module init function. */ def = PyModule_GetDef(m); + if (def == NULL) + goto error; def->m_base.m_init = p; /* Remember the filename as the __file__ attribute */