Issue #18426: Fix NULL pointer dereference in C extension import when
PyModule_GetDef() returns an error.
diff --git a/Misc/NEWS b/Misc/NEWS
index 63d4969..4d55853 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@
 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 942e4b8..e393de1 100644
--- a/Python/importdl.c
+++ b/Python/importdl.c
@@ -97,6 +97,8 @@
 
     /* 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 */