From ede18d990c6a6763d591ca2c589c644321b0cc05 Mon Sep 17 00:00:00 2001 From: Yury Selivanov Date: Mon, 15 Aug 2022 16:32:40 -0700 Subject: [PATCH] gh-95808: Add missing early returns in _asynciomodule.c (GH-95809) (cherry picked from commit b2afe482f21b826d53886a69ea2c99d0d940c59a) Co-authored-by: Yury Selivanov --- Modules/_asynciomodule.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Modules/_asynciomodule.c b/Modules/_asynciomodule.c index cb7afecd8f2cdf..10679be2ef1938 100644 --- a/Modules/_asynciomodule.c +++ b/Modules/_asynciomodule.c @@ -631,8 +631,6 @@ create_cancelled_error(FutureObj *fut) } else { exc = PyObject_CallOneArg(asyncio_CancelledError, msg); } - PyException_SetContext(exc, fut->fut_cancelled_exc); - Py_CLEAR(fut->fut_cancelled_exc); return exc; } @@ -640,6 +638,9 @@ static void future_set_cancelled_error(FutureObj *fut) { PyObject *exc = create_cancelled_error(fut); + if (exc == NULL) { + return; + } PyErr_SetObject(asyncio_CancelledError, exc); Py_DECREF(exc); }