diff options
Diffstat (limited to 'Python/import.c')
-rw-r--r-- | Python/import.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/Python/import.c b/Python/import.c index 48ea912..cdcb903 100644 --- a/Python/import.c +++ b/Python/import.c @@ -1171,8 +1171,10 @@ typedef enum { FROZEN_BAD_NAME, // The given module name wasn't valid. FROZEN_NOT_FOUND, // It wasn't in PyImport_FrozenModules. FROZEN_DISABLED, // -X frozen_modules=off (and not essential) - FROZEN_EXCLUDED, // The PyImport_FrozenModules entry has NULL "code". - FROZEN_INVALID, // The PyImport_FrozenModules entry is bogus. + FROZEN_EXCLUDED, /* The PyImport_FrozenModules entry has NULL "code" + (module is present but marked as unimportable, stops search). */ + FROZEN_INVALID, /* The PyImport_FrozenModules entry is bogus + (eg. does not contain executable code). */ } frozen_status; static inline void @@ -1305,6 +1307,7 @@ find_frozen(PyObject *nameobj, struct frozen_info *info) return FROZEN_EXCLUDED; } if (p->code[0] == '\0' || p->size == 0) { + /* Does not contain executable code. */ return FROZEN_INVALID; } return FROZEN_OKAY; @@ -1315,6 +1318,7 @@ unmarshal_frozen_code(struct frozen_info *info) { PyObject *co = PyMarshal_ReadObjectFromString(info->data, info->size); if (co == NULL) { + /* Does not contain executable code. */ set_frozen_error(FROZEN_INVALID, info->nameobj); return NULL; } @@ -2214,6 +2218,7 @@ _imp_get_frozen_object_impl(PyObject *module, PyObject *name, info.nameobj = name; } if (info.size == 0) { + /* Does not contain executable code. */ set_frozen_error(FROZEN_INVALID, name); return NULL; } |