From e3b2b4b8d9e751b49e3550cb83ba39b54fdc377c Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Fri, 8 Sep 2017 09:58:51 +0300 Subject: bpo-31393: Fix the use of PyUnicode_READY(). (#3451) --- Python/ceval.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'Python') diff --git a/Python/ceval.c b/Python/ceval.c index e583e272d7..5dd7cd9f03 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -5017,13 +5017,16 @@ import_all_from(PyObject *locals, PyObject *v) PyErr_Clear(); break; } - if (skip_leading_underscores && - PyUnicode_Check(name) && - PyUnicode_READY(name) != -1 && - PyUnicode_READ_CHAR(name, 0) == '_') - { - Py_DECREF(name); - continue; + if (skip_leading_underscores && PyUnicode_Check(name)) { + if (PyUnicode_READY(name) == -1) { + Py_DECREF(name); + err = -1; + break; + } + if (PyUnicode_READ_CHAR(name, 0) == '_') { + Py_DECREF(name); + continue; + } } value = PyObject_GetAttr(v, name); if (value == NULL) -- cgit v1.2.1