From 79ceccd1ec6ef7e487da2916f32c6f0d1477bd3d Mon Sep 17 00:00:00 2001 From: Zackery Spytz Date: Thu, 26 Mar 2020 06:11:13 -0600 Subject: bpo-38410: Properly handle PySys_Audit() failures (GH-16657) --- Python/sysmodule.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'Python/sysmodule.c') diff --git a/Python/sysmodule.c b/Python/sysmodule.c index c78a627380..c877fd76ac 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -1222,10 +1222,12 @@ sys_set_asyncgen_hooks(PyObject *self, PyObject *args, PyObject *kw) Py_TYPE(finalizer)->tp_name); return NULL; } - _PyEval_SetAsyncGenFinalizer(finalizer); + if (_PyEval_SetAsyncGenFinalizer(finalizer) < 0) { + return NULL; + } } - else if (finalizer == Py_None) { - _PyEval_SetAsyncGenFinalizer(NULL); + else if (finalizer == Py_None && _PyEval_SetAsyncGenFinalizer(NULL) < 0) { + return NULL; } if (firstiter && firstiter != Py_None) { @@ -1235,10 +1237,12 @@ sys_set_asyncgen_hooks(PyObject *self, PyObject *args, PyObject *kw) Py_TYPE(firstiter)->tp_name); return NULL; } - _PyEval_SetAsyncGenFirstiter(firstiter); + if (_PyEval_SetAsyncGenFirstiter(firstiter) < 0) { + return NULL; + } } - else if (firstiter == Py_None) { - _PyEval_SetAsyncGenFirstiter(NULL); + else if (firstiter == Py_None && _PyEval_SetAsyncGenFirstiter(NULL) < 0) { + return NULL; } Py_RETURN_NONE; -- cgit v1.2.1