summaryrefslogtreecommitdiffstats
path: root/Python/ceval.c
diff options
context:
space:
mode:
authorStefan Krah <skrah@bytereef.org>2019-03-25 20:50:58 (GMT)
committerGitHub <noreply@github.com>2019-03-25 20:50:58 (GMT)
commit027b09c5a13aac9e14a3b43bb385298d549c3833 (patch)
tree44c35e9ec4e1ae42dde580a0ea369e5a1c32de1a /Python/ceval.c
parentd1e768a67707bf7bb426c1537e1a764e89eaff78 (diff)
downloadcpython-027b09c5a13aac9e14a3b43bb385298d549c3833.zip
cpython-027b09c5a13aac9e14a3b43bb385298d549c3833.tar.gz
cpython-027b09c5a13aac9e14a3b43bb385298d549c3833.tar.bz2
bpo-36370: Check for PyErr_Occurred() after PyImport_GetModule() (GH-12504)
Diffstat (limited to 'Python/ceval.c')
-rw-r--r--Python/ceval.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Python/ceval.c b/Python/ceval.c
index 40320bf..28e9232 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -4948,7 +4948,7 @@ import_from(PyObject *v, PyObject *name)
}
x = PyImport_GetModule(fullmodname);
Py_DECREF(fullmodname);
- if (x == NULL) {
+ if (x == NULL && !PyErr_Occurred()) {
goto error;
}
Py_DECREF(pkgname);
@@ -4971,7 +4971,7 @@ import_from(PyObject *v, PyObject *name)
"cannot import name %R from %R (unknown location)",
name, pkgname_or_unknown
);
- /* NULL check for errmsg done by PyErr_SetImportError. */
+ /* NULL checks for errmsg and pkgname done by PyErr_SetImportError. */
PyErr_SetImportError(errmsg, pkgname, NULL);
}
else {
@@ -4979,7 +4979,7 @@ import_from(PyObject *v, PyObject *name)
"cannot import name %R from %R (%S)",
name, pkgname_or_unknown, pkgpath
);
- /* NULL check for errmsg done by PyErr_SetImportError. */
+ /* NULL checks for errmsg and pkgname done by PyErr_SetImportError. */
PyErr_SetImportError(errmsg, pkgname, pkgpath);
}