summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-07-16 20:26:05 (GMT)
committerVictor Stinner <victor.stinner@gmail.com>2013-07-16 20:26:05 (GMT)
commit1e53bbacedaed883104454693c29d1ad31f5029b (patch)
treee4fc2ec54fe409dd3e50fbd7ac756a43b103bbf8 /Modules
parent1b63493ed18a93201ad0c09bfc849a13d9f01632 (diff)
downloadcpython-1e53bbacedaed883104454693c29d1ad31f5029b.zip
cpython-1e53bbacedaed883104454693c29d1ad31f5029b.tar.gz
cpython-1e53bbacedaed883104454693c29d1ad31f5029b.tar.bz2
Issue #18408: handle PySys_GetObject() failure, raise a RuntimeError
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_pickle.c8
-rw-r--r--Modules/main.c4
2 files changed, 9 insertions, 3 deletions
diff --git a/Modules/_pickle.c b/Modules/_pickle.c
index e7d7dd9..4ba185d 100644
--- a/Modules/_pickle.c
+++ b/Modules/_pickle.c
@@ -1361,8 +1361,10 @@ whichmodule(PyObject *global, PyObject *global_name)
search:
modules_dict = PySys_GetObject("modules");
- if (modules_dict == NULL)
+ if (modules_dict == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "unable to get sys.modules");
return NULL;
+ }
i = 0;
module_name = NULL;
@@ -5542,8 +5544,10 @@ Unpickler_find_class(UnpicklerObject *self, PyObject *args)
}
modules_dict = PySys_GetObject("modules");
- if (modules_dict == NULL)
+ if (modules_dict == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "unable to get sys.modules");
return NULL;
+ }
module = PyDict_GetItemWithError(modules_dict, module_name);
if (module == NULL) {
diff --git a/Modules/main.c b/Modules/main.c
index 0343dda..e592d8b 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -260,8 +260,10 @@ RunMainFromImporter(wchar_t *filename)
/* argv0 is usable as an import source, so put it in sys.path[0]
and import __main__ */
sys_path = PySys_GetObject("path");
- if (sys_path == NULL)
+ if (sys_path == NULL) {
+ PyErr_SetString(PyExc_RuntimeError, "unable to get sys.path");
goto error;
+ }
if (PyList_SetItem(sys_path, 0, argv0)) {
argv0 = NULL;
goto error;