From 3e0651b5fa45031b858556292f5623e264addfd0 Mon Sep 17 00:00:00 2001 From: Brett Cannon Date: Fri, 31 May 2013 23:18:39 -0400 Subject: 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. --- Python/import.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'Python/import.c') diff --git a/Python/import.c b/Python/import.c index a42b0f89b0a..0bb46d2e1e4 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) -- cgit v1.2.3