mirror of
https://github.com/python/cpython.git
synced 2025-08-03 08:34:29 +00:00
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
This commit is contained in:
parent
b09f4f578f
commit
3cb31ac704
1 changed files with 6 additions and 1 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue