summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
Diffstat (limited to 'Python')
-rw-r--r--Python/pylifecycle.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 64723ce..0ad1796 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -2551,12 +2551,14 @@ _Py_DumpExtensionModules(int fd, PyInterpreterState *interp)
// memory cannot be allocated on the heap in a signal handler.
// Iterate on the dict instead.
PyObject *stdlib_module_names = NULL;
- pos = 0;
- while (PyDict_Next(interp->sysdict, &pos, &key, &value)) {
- if (PyUnicode_Check(key)
- && PyUnicode_CompareWithASCIIString(key, "stdlib_module_names") == 0) {
- stdlib_module_names = value;
- break;
+ if (interp->sysdict != NULL) {
+ pos = 0;
+ while (PyDict_Next(interp->sysdict, &pos, &key, &value)) {
+ if (PyUnicode_Check(key)
+ && PyUnicode_CompareWithASCIIString(key, "stdlib_module_names") == 0) {
+ stdlib_module_names = value;
+ break;
+ }
}
}
// If we failed to get sys.stdlib_module_names or it's not a frozenset,