Kaydet (Commit) 3cb31ac7 authored tarafından 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
üst b09f4f57
......@@ -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