summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorBrett Cannon <brett@python.org>2013-06-01 03:18:39 (GMT)
committerBrett Cannon <brett@python.org>2013-06-01 03:18:39 (GMT)
commit3e0651b5fa45031b858556292f5623e264addfd0 (patch)
treecbc860cfd294cb53ce0e37fa9dd320913054fad2 /Python
parent0e75c0688673da4fbaceae0b75e20e953751e86a (diff)
downloadcpython-3e0651b5fa45031b858556292f5623e264addfd0.zip
cpython-3e0651b5fa45031b858556292f5623e264addfd0.tar.gz
cpython-3e0651b5fa45031b858556292f5623e264addfd0.tar.bz2
Issue #18065: For frozen packages set __path__ to [].
Previously __path__ was set to [__name__], but that could lead to bad results if someone managed to circumvent the frozen importer and somehow ended up with a finder that thought __name__ was a legit directory/location.
Diffstat (limited to 'Python')
-rw-r--r--Python/import.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/Python/import.c b/Python/import.c
index a42b0f8..0bb46d2 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -1107,19 +1107,17 @@ PyImport_ImportFrozenModuleObject(PyObject *name)
goto err_return;
}
if (ispackage) {
- /* Set __path__ to the package name */
+ /* Set __path__ to the empty list */
PyObject *d, *l;
int err;
m = PyImport_AddModuleObject(name);
if (m == NULL)
goto err_return;
d = PyModule_GetDict(m);
- l = PyList_New(1);
+ l = PyList_New(0);
if (l == NULL) {
goto err_return;
}
- Py_INCREF(name);
- PyList_SET_ITEM(l, 0, name);
err = PyDict_SetItemString(d, "__path__", l);
Py_DECREF(l);
if (err != 0)