Commit 85fd27f6 authored by Neal Norwitz's avatar Neal Norwitz

cpathname could be NULL if it was longer than MAXPATHLEN. Don't try

to write the .pyc to NULL.

Check results of PyList_GetItem() and PyModule_GetDict() are not NULL.

Klocwork 282, 283, 285
parent 0e466098
......@@ -933,7 +933,8 @@ load_source_module(char *name, char *pathname, FILE *fp)
if (Py_VerboseFlag)
PySys_WriteStderr("import %s # from %s\n",
name, pathname);
write_compiled_module(co, cpathname, mtime);
if (cpathname)
write_compiled_module(co, cpathname, mtime);
}
m = PyImport_ExecCodeModuleEx(name, (PyObject *)co, pathname);
Py_DECREF(co);
......@@ -1232,6 +1233,8 @@ find_module(char *fullname, char *subname, PyObject *path, char *buf,
for (i = 0; i < npath; i++) {
PyObject *copy = NULL;
PyObject *v = PyList_GetItem(path, i);
if (!v)
return NULL;
#ifdef Py_USING_UNICODE
if (PyUnicode_Check(v)) {
copy = PyUnicode_Encode(PyUnicode_AS_UNICODE(v),
......@@ -3044,6 +3047,8 @@ initimp(void)
if (m == NULL)
goto failure;
d = PyModule_GetDict(m);
if (d == NULL)
goto failure;
if (setint(d, "SEARCH_ERROR", SEARCH_ERROR) < 0) goto failure;
if (setint(d, "PY_SOURCE", PY_SOURCE) < 0) goto failure;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment