summaryrefslogtreecommitdiff
path: root/Python/ceval.c
diff options
context:
space:
mode:
authorOren Milman <orenmn@gmail.com>2017-09-19 14:23:01 +0300
committerSerhiy Storchaka <storchaka@gmail.com>2017-09-19 14:23:01 +0300
commit6db7033192cd537ca987a65971acb01206c3ba82 (patch)
treef05068e6e7e700e321cd282f577570918d9c64f6 /Python/ceval.c
parent453408a50508bb6801b6724ba7c7d1c017c218b6 (diff)
downloadcpython-git-6db7033192cd537ca987a65971acb01206c3ba82.tar.gz
bpo-31492: Fix assertion failures in case of a module with a bad __name__ attribute. (#3620)
Diffstat (limited to 'Python/ceval.c')
-rw-r--r--Python/ceval.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Python/ceval.c b/Python/ceval.c
index 8cc5094a3f..cf0c6c9ae2 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -4930,6 +4930,10 @@ import_from(PyObject *v, PyObject *name)
if (pkgname == NULL) {
goto error;
}
+ if (!PyUnicode_Check(pkgname)) {
+ Py_CLEAR(pkgname);
+ goto error;
+ }
fullmodname = PyUnicode_FromFormat("%U.%U", pkgname, name);
if (fullmodname == NULL) {
Py_DECREF(pkgname);