Mercurial > cpython-lru_cache-weakref
diff Python/_warnings.c @ 86801:9b37fbda9043
Issue #19437: Fix get_filter() from _warnings, don't call PyObject_IsSubclass()
with an exception set
| author | Victor Stinner <victor.stinner@gmail.com> |
|---|---|
| date | Thu, 31 Oct 2013 14:46:00 +0100 |
| parents | 1787277915e9 |
| children | e035b4656088 |
line wrap: on
line diff
--- a/Python/_warnings.c Thu Oct 31 05:55:31 2013 -0700 +++ b/Python/_warnings.c Thu Oct 31 14:46:00 2013 +0100 @@ -144,11 +144,19 @@ ln_obj = PyTuple_GET_ITEM(tmp_item, 4); good_msg = check_matched(msg, text); + if (good_msg == -1) + return NULL; + good_mod = check_matched(mod, module); + if (good_mod == -1) + return NULL; + is_subclass = PyObject_IsSubclass(category, cat); + if (is_subclass == -1) + return NULL; + ln = PyLong_AsSsize_t(ln_obj); - if (good_msg == -1 || good_mod == -1 || is_subclass == -1 || - (ln == -1 && PyErr_Occurred())) + if (ln == -1 && PyErr_Occurred()) return NULL; if (good_msg && is_subclass && good_mod && (ln == 0 || lineno == ln))
