From 3510334361d6d39aad89e4e0d9bccd0695668583 Mon Sep 17 00:00:00 2001
From: Yury Selivanov <yury@magic.io>
Date: Sun, 21 Jan 2018 20:47:04 -0500
Subject: [PATCH] bpo-32591: Fix PyExc_WarnFormat call (follow-up commit)
 (#5263)

The previous version was correct in terms of behaviour, but
checking the return value of PyErr_WarnFormat allows to
avoid calling PyErr_Occurred and silences the coverity alarm.
---
 Python/_warnings.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/Python/_warnings.c b/Python/_warnings.c
index c3417cccb1..20ba7a1661 100644
--- a/Python/_warnings.c
+++ b/Python/_warnings.c
@@ -1191,11 +1191,10 @@ _PyErr_WarnUnawaitedCoroutine(PyObject *coro)
         PyErr_WriteUnraisable(coro);
     }
     if (!warned) {
-        PyErr_WarnFormat(PyExc_RuntimeWarning, 1,
-                         "coroutine '%.50S' was never awaited",
-                         ((PyCoroObject *)coro)->cr_qualname);
-        /* Maybe *that* got converted into an exception */
-        if (PyErr_Occurred()) {
+        if (PyErr_WarnFormat(PyExc_RuntimeWarning, 1,
+                             "coroutine '%.50S' was never awaited",
+                             ((PyCoroObject *)coro)->cr_qualname) < 0)
+        {
             PyErr_WriteUnraisable(coro);
         }
     }
-- 
2.40.0